2017-10-05 298 views
0

JSON對象總是不顧對象返回undefined包含數據,我在調試JSON對象總是返回undefined與AJAX

使用斷點檢查它這是在控制器的操作方法:

public JsonResult GetMoreComments(int CommsCount, int ArticleID) 
{ 
    List<ComViewModel> comms = articleService.GetMoreComments(ArticleID, CommsCount); 
    return Json(comms); 
} 

我也取代了動作方法的代碼,以簡單的代碼一樣,但不是工作太:

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

@RobertRocha這不是php – epascarello

+0

它是asp.net核心mvc – mustafa

回答

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的阿賈克斯,但其相同的概念

+0

不成功,我也解析它之前,當使用解析警報不出現! – mustafa

+0

你剛剛嘗試過警報(結果)嗎?如果這不起作用,那麼它可能是一個服務器端問題。 – Carlitos

+0

是的,我試過了,它給我[對象,對象],[對象,對象],[對象,對象] .....並重複列表數量 – mustafa