使用getJSON时,回调函数不起作用

时间:2010-05-14 22:57:14

标签: javascript jquery json getjson

这是我正在使用的代码, 当我将链接写入浏览器(I.E.或Mozilla)时,它的工作方式就像 (MYFUNC({ “记因”:[{ “源”:“http://www.knall.....), 但是当我尝试将其作为HTML文件运行时,状态栏中出现错误。 问题是什么?。谢谢

<head>
  <style>img{ height: 100px; float: left; }</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
    <div id="images"></div>
<script>$.getJSON("http://tagthe.net/api/?url=http://www.knallgrau.at/en&view=json&callback=MyFunc",function(data){         
               alert(data);
        });
</script>
</body>

4 个答案:

答案 0 :(得分:4)

您没有在代码中的任何位置定义MyFunc。您应该在URL中添加?而不是任意名称,jQuery将使用生成的回调名称替换它。

答案 1 :(得分:0)

尤里卡男人! 它不适用于最新版本......你应该使用jquery 1.3.1而不是更新......

答案 2 :(得分:-1)

您必须使用getScript代替getJSON,因为您正在调用其他域名的网址。

<强>更新

以下代码适用于我:

<head>
  <style>img{ height: 100px; float: left; }</style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
    <div id="images"></div>
    <script>
        function MyFunc(data) {
            alert(data)
        }
        $.getScript("http://tagthe.net/api/?url=http://www.knallgrau.at/en&view=json&callback=MyFunc");
</script>
</body>

答案 3 :(得分:-1)

您无法对其他域进行ajax调用

http://en.wikipedia.org/wiki/Same_origin_policy

此外,您的网址不是有效的网址,请将其复制并粘贴到浏览器中,您会看到错误 http://tagthe.net/api/url=http://www.knallgrau.at/en&view=json&callback=MyFunc

您的有效网址是: http://tagthe.net/api/?url=http://www.knallgrau.at/en&view=json&callback=MyFunc

$.getJSON("
    http://tagthe.net/api/url=http://www.knallgrau.at/en&view=json&callback=MyFunc",
    function(data){         
        alert(data);
    });