2017-10-05 11 views
0

とundefinedを返すと、私は、これはコントローラでの操作方法であるJSONオブジェクトは常に、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) 

    }); 

私は、あなたが「エコー」またはそれを返さない応答を印刷持っていると信じていますワードプレスアヤックスが、その同じコンセプト

+0

は成功しません。 – mustafa

+0

アラート(結果)を試しましたか?それがうまく動作しない場合は、サーバー側の問題になる可能性があります。 – Carlitos

+0

はい私は試してみました、私は[オブジェクト、オブジェクト]、[オブジェクト、オブジェクト]、[オブジェクト、オブジェクト] .....を与え、リスト数の数に戻って – mustafa

関連する問題