2011-07-09 49 views
2

我想從一些json中抓取一個單一的值,並使用Chrome的javascript控制檯來嘗試和調試它。我已經嘗試了Request [「id」]和Request.Params [「id」],它沒有抓取任何東西。我已經通過chrome javascript調試器驗證了該值正在通過,但我無法使用webmatrix將值拉出。任何人都可以幫忙嗎?通過AJAX進入這個網頁Default.cshtml如何使用Webmatrix /剃鬚刀獲得單個json值?

$.ajax({ 
    type: 'POST', 
    data: encodedItemId, //looks like { id : value } 
    dataType: 'json', 
    url: '/actions/act_markCompleted.cshtml', 
    success: function(data){ 
     alert(data); //trying to view the json data 
    } 
}); 

帖子

代碼,act_markCompleted.cshtml

@{ 
    var itemId = Request["id"]; 

    var data = "The id is: " + itemId; 

    var db = Database.Open("VacationBuddyDB"); 
    var sql = "UPDATE Items SET completed = @0 WHERE Id = @1"; 

    db.Execute(sql, true, itemId.AsInt()); 

    Json.Write(data, Response.Output); 
} 

回答

3

下面應該工作:

$.ajax({ 
    type: 'POST', 
    data: { id : 'value' }, 
    dataType: 'json', 
    url: '/actions/act_markCompleted.cshtml', 
    success: function(data) { 
     alert(data); 
    } 
}); 

請確保您有不會將{ id : 'value' }作爲字符串發送,而是作爲JavaScript對象發送,如圖所示。另外,如果您在某些鏈接或表單提交的點擊操作的回調中運行此ajax請求,請確保您通過在最後返回false取消默認操作,或者ajax請求可能沒有時間執行。

+0

非常感謝您的幫助!是的,事實證明,我從jquery.json-2.2.min.js使用的$ .toJSON() 函數將整個事件轉換爲一個字符串。你搖滾!再次感謝! – cpeele00