2011-06-23 50 views
1

我有一个.getJSON的问题。

我有这两个电话,但第一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" }); 
    } 

我在最后一行一个断点,我可以看看它是如何被调用两次,但由于我不明白的原因,在第一次调用alert从未显示。

我已经添加以下代码开头:

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

而且我可以看到,有一个错误,但我不知道如何检查哪些。

有什么想法?

干杯。

回答

6

试着改变你的控制器动作返回此:

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

:o它的工作原理!我认为getJSON已经是一个POST请求...:facepalm:谢谢! – vtortola