查看Network tab in FireBug
或类似的 javascript 调试工具。在那里您将看到 AJAX 请求,您所要做的就是扩展请求并查看响应。
例如,这是一个示例 AJAX 请求在 FireBug 中的样子:
如果您单击JSON
选项卡,您将看到格式化为 JSON 对象的输出,您可以在其中展开/折叠属性。
如果由于某些非常奇怪的原因您不能在 Web 浏览器中使用 javascript 调试工具(我什至不知道您如何开发 Web 应用程序,但是...)您可以使用JSON.stringify
现代浏览器中内置的方法:
var jqxhr = $.getJSON("<%= Url.Action("GetTrainingModulePoints" , "Home") %>", function (json) {
alert(JSON.stringify(json));
});
如果您没有使用没有JSON.stringify
本机内置方法的现代浏览器,您仍然可以将json2.js脚本引用到您的页面。
更新:
好的,您的困惑似乎来自您正在获得{"success":true}
而您期望从存储过程中获取行的事实。我知道这一点,因为我回答了你的previous question
。
这是您的控制器操作的样子:
[HttpGet]
public JsonResult GetTrainingModulePoints()
{
var currentUser = ZincService.GetUserForId(CurrentUser.UserId);
ZincService.TrainingService.GetTrainingModulePoints(currentUser.UserId);
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}
正如你在这个控制器动作中看到的,你总是在返回success = true
。如果你想从你的存储过程中返回结果,你可以这样做:
[HttpGet]
public JsonResult GetTrainingModulePoints()
{
var currentUser = ZincService.GetUserForId(CurrentUser.UserId);
var modulePoints = ZincService.TrainingService.GetTrainingModulePoints(currentUser.UserId);
return Json(
new {
success = true,
modulePoints = modulePoints
},
JsonRequestBehavior.AllowGet
);
}
在这里,我假设您的TrainingService.GetTrainingModulePoints
方法实际上是在返回一些对象。如果不是这种情况,您将不得不解释这些方法在做什么以及您希望如何获得输出。