jQuery .getJSON()回调函数没有执行

时间:2011-10-11 20:08:12

标签: jquery json

我的代码中有这个:

 .getJSON("http://myUrl.com", function(data){ alert("callback being called");});

在我的服务器端代码中使用断点我可以看到从url返回的jSON流。在Chrome中单步执行我从未看到调用的警报(或其中的任何其他代码)。当我使用chrome开发人员工具查看网络流量时,我看到正在调用myURl(我可以看到响应是我期望的jSON字符串)。只是看起来回调函数永远不会执行。

任何人都知道为什么它不会执行?

3 个答案:

答案 0 :(得分:1)

我有几个问题,其中大部分都是通过在这里深入挖掘来解决的(我的不好但也许这可以帮助其他人)。

  1. 我没有返回正确的内容类型(application / json)
  2. 我的json没有正确解析(最后我有一个分号,数组声明结尾处的额外逗号http://paulisageek.com/json_validator/帮助验证了我的json。
  3. 使用.ajax()方法和错误绑定也帮助我解决问题。
  4. 令人沮丧,因为没有抛出任何异常/错误,它只是拒绝调用回调。

答案 1 :(得分:0)

答案 2 :(得分:0)

首先尝试以下操作,然后使用您的网址

<script type="text/javascript">
    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
    function (data) { alert("callback being called");}
    );
</script>