Функция обратного вызова Jsonp не работает?Я делаю это неправильно? - PullRequest
1 голос
/ 13 июля 2011

Так что я совершенно новичок в этом, но jsonp выглядел так просто, я просто пытаюсь создать веб-приложение, используя код.Мне нужно разместить данные Twitter JSON на странице моего веб-приложения.Это то, что я пытался.

Я поместил этот код в index.html

<script src="http://twitter.com/users/USERNAME.json?callback=handleResponse"/>

Затем я создал файл javascript

function handleResponse(responseJson){
alert(responseJson.status.text);
}

Когда я поместил файл javascriptВ качестве источника данных я получаю сообщение о том, что это недопустимый JSON или XML.Как я уже сказал, я новичок в этом, поэтому я могу сделать это совершенно неправильно.

Ответы [ 3 ]

0 голосов
/ 02 августа 2011

Вы должны убедиться, что функция handleResponse определена перед внешним вызовом jsonp.

(также ваш скрипт недействителен)

<script>
function handleResponse(responseJson){
  alert(responseJson.status.text);
}
</script>
<script src="http://twitter.com/users/USERNAME.json?callback=handleResponse"></script>
0 голосов
/ 04 августа 2011

Нажмите «Атрибуты виджета» в левой панели источников.В разделе «Доступ к сети / диску» убедитесь, что установлен флажок «Разрешить доступ к сети».Без этого ваш виджет не сможет отправлять запросы AJAX.

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

Ваш код работает, по крайней мере, в Chrome, с одним небольшим изменением - см. http://jsfiddle.net/nrabinowitz/jJTQn/1/

<script type="text/javascript">
function handleResponse(responseJson){
    alert(responseJson.status.text);
}
</script>
<script type="text/javascript"
 src="http://twitter.com/users/Pogue.json?callback=handleResponse"></script>

Небольшой твик корректно закрывает тег script (теги script не могут быть самозакрывающимися, по причинам, по-видимому, я слишком ленив для Google). Не мешало бы добавить туда type="text/javascript".

...