我试图从一些json中获取一个值,并使用Chrome的javascript控制台尝试调试它。我尝试了Request [“id”]和Request.Params [“id”]并且它没有抓取任何东西。我已经通过chrome javascript调试器验证了值是否正在进行,但我无法使用webmatrix将值拉出来。有人可以帮忙吗?
来自Default.cshtml的代码
$.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
}
});
通过ajax发布到此页面,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);
}
答案 0 :(得分: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请求可能没有时间执行。