尽管对象包含数据,JSON对象总是返回undefined,我在调试中使用断点检查它
这是Controller中的Action方法:
public JsonResult GetMoreComments(int CommsCount, int ArticleID)
{
List<ComViewModel> comms = articleService.GetMoreComments(ArticleID, CommsCount);
return Json( comms );
}
我还将Action方法中的代码替换为类似的简单代码,但也不起作用:
public JsonResult GetMoreComments(int CommsCount, int ArticleID)
{
ComViewModel com = new ComViewModel
{
CommentContent = "cooooooooooontent",
CommentID = 99,
SpamCount = 22
};
return Json( com );
}
这是AJAX的jQuery代码:
function GetMoreComments() {
$.ajax({
type: 'GET',
data: { CommsCount: @Model.Comments.Count, ArticleID: @Model.ArticleID },
url: '@Url.Action("GetMoreComments", "Comment")',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
var JsonParseData = JSON.parse(result);
alert(JsonParseData[0].CommentID)
alert(result[0].CommentID);
alert(result[0]["CommentID"]);
}
});
}
答案 0 :(得分:0)
如果您需要按照自己的方式提醒数据,通常需要解析数据。警报(结果)应显示数据。如果需要访问对象数组,则必须先解析它。这是我的例子......
jQuery.post(ajaxurl, data, function(response) {
alert('Got this from the server: ' + response);
//PARSE data if you need to access objects
var resultstring = response.replace(',]',']');
var JsonParseData = JSON.parse(resultstring);
alert(JsonParseData[0].address)
});
这是wordpress ajax,但它的概念相同