我的设置:asp.net mvc web app
我无法从控制器获取值回$ .Ajax调用(见下文)。控制器删除数据库中的记录并计算其他一些记录。
$.ajax({
type: "POST",
url: actions.action.RemoveItem + "?id=" + dataId,
contentType: "application/json; charset=utf-8",
dataType: "json",
traditional: true,
success: function (result) {
alert(result);
},
error: function (result) {
alert("Error");
}});
[HttpPost]
public JsonResult RemoveItem(int id)
{
... delete a record in the db
itemsCount = .... counts of some other records in the db
if (deletedRecord.id != null)
{
return Json(new { itemsCount });
}
else
{
return JsonError();
}
}
ajax调用和控制器正常工作,但是当我尝试在success函数中使用返回值时,alert(result)给出[object object]。 我查看了所有相关帖子,但找不到有效的解决方案。有人可以给我一个暗示问题可能是什么以及如何使其工作? 感谢您提前和问候,Manu
答案 0 :(得分:1)
结果是一个javascript对象,因此警报可以正常工作。如果你想像JSON一样使用JSON.stringify()方法来警告它的结构:
alert(JSON.stringify(result));
如果您想访问itemsCount,只需使用点或括号表示法:
alert(result.itemsCount);
alert(result['itemsCount']);