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

发布于 2024-09-01 11:03:02 字数 672 浏览 9 评论 0原文

这是我正在使用的代码, 当我将链接写入浏览器(IE 或 Mozilla)时,它的工作方式如下 (MyFunc({"memes":[{"source":"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>

This is the code that I am using,
When I write the link into the browser (I.E. or Mozilla) it is working like
(MyFunc({"memes":[{"source":"http://www.knall......),
but when I try to run it as HTML file I have a error in status Bar.
what is the problem?. Thanks

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

停顿的约定 2024-09-08 11:03:02

您没有在代码中的任何位置定义 MyFunc。您应该在 URL 中放置 ? 而不是任意名称,jQuery 会将其替换为生成的回调名称。

You don't define MyFunc anywhere in your code. You should rather put a ? in the URL instead of an arbitrary name, and jQuery will replace it with a generated callback name.

南城旧梦 2024-09-08 11:03:02

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

Eureka man!
It doesn't work with the latest version... you should use the jquery 1.3.1 not newer...

对你的占有欲 2024-09-08 11:03:02

您必须使用 getScript 而不是 getJSON,因为您正在调用另一个域名上的 URL。

更新:

以下代码对我来说效果很好:

<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>

You have to use getScript instead of getJSON since you are calling a URL on another domain name.

Update:

The following code works fine for me:

<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>
回忆那么伤 2024-09-08 11:03:02

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

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

此外,您的 URL 不是有效的 URL,将其复制并粘贴到浏览器中,您将看到错误
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);
    });

you cant make ajax calls to other domains

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

Also, your URL is not a valid url, copy and paste it in a browser and you will see an error
http://tagthe.net/api/url=http://www.knallgrau.at/en&view=json&callback=MyFunc

your valid URL is:
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);
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文