Функция обратного вызова не работает при использовании getJSON - PullRequest
2 голосов
/ 15 мая 2010

Это код, который я использую, Когда я записываю ссылку в браузер (например, 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 ]

4 голосов
/ 15 мая 2010

Вы нигде не определяете MyFunc в своем коде. Вам следует вместо этого указать произвольное имя в URL-адресе ?, и jQuery заменит его на сгенерированное имя обратного вызова.

0 голосов
/ 04 июля 2011

Эврика человек! Он не работает с последней версией ... вы должны использовать jquery 1.3.1 не новее ...

0 голосов
/ 15 мая 2010

вы не можете совершать 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

Ваш действительный URL: 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);
    });
0 голосов
/ 15 мая 2010

Вы должны использовать 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>
...