JSON对象始终使用AJAX返回undefined

时间:2017-10-05 00:05:02

标签: javascript jquery ajax asp.net-core

尽管对象包含数据,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"]);

        }
    });
}

1 个答案:

答案 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,但它的概念相同