2011-06-23 21 views
1

私は.getJSONに問題があります。

私は、これら2つの呼び出しを持っていますが、最初のalertが示されることはありません:

<script type="text/javascript" language="javascript"> 

    $.getJSON('@Url.Action("ChartData")',null, 
     function (rdata) { 

      alert('data'); 

     }); 

     $.post('@Url.Action("ChartData")', null, 
     function (rdata) { 

      var rdataE = eval(rdata); 
      alert(rdata.data); 

     }); 

</script> 

私は、このコントローラのアクションがあります。

public JsonResult ChartData() 
    { 
     return Json(new { data = "my data" }); 
    } 

を、私は最後の行にブレークポイントを持っている、と私ができますそれが2回呼び出される方法を参照してください。理由はわかりませんが、最初の呼び出しではalertは表示されません。

は私が先頭に次のコードを追加しました:

$(document).ajaxError(function (event, request, settings, thrownError) { 
    alert('error!'); 
}); 

そして、私はエラーがあることがわかりますが、私は確認する方法を知りません。

乾杯。

答えて

6

はこれにあなたのコントローラのアクションの戻り値を変更してみてください:

return Json(new { data = "my data" }, JsonRequestBehavior.AllowGet); 
+0

:それは動作しますÓ!私はgetJSONが既にPOSTリクエストであると思った...:facepalm:ありがとう! – vtortola

関連する問題