2013-09-30 3 views
0

У меня есть URL-адрес, который вернет ответ как Content = image | text = hello |. При ударе по URL-адресу с AJAX я получаю проблемы с перекрестным доменом. Итак, я попытался найти jsonp.But не смог этого сделать. Я могу использовать URL-адрес, используя скрипт. Но неспособность поймать ответ в строку. Моя конечная цель - нажать на url и поймать ответ в каком-то var x.So мне нужно x = Content = image | text = hello | после нажатия на URL. Я использовал ajax, он работает только в IE.JSONP: Удар URL и разбор ответа

Пожалуйста, попробуйте помочь/совет сделать то же самое с jsonp.

+0

Это не похоже на JSON, поэтому вы не можете легко применять JSONP. Вам понадобится строка-escape, чтобы передать строковый литерал в обратный вызов JSONP. – Bergi

ответ

0

Вы не можете выполнять описанные вами действия в браузере без Cross-Origin Resource Sharing, что потребует, чтобы сервер, предоставляющий ответ, доверял источнику вашего документа, что пользователь использует CORS-enabled browser и что если вы хотите поддержать IE8 и IE9, ваш код обрабатывает, используя объект XDomainRequest, специфичный для MS, вместо стандартного объекта XMLHttpRequest в этих двух браузерах (другие браузеры поддерживают CORS через XMLHttpRequest, включая IE10 и выше).

Если вы можете получить информацию об источнике этой информации с JSONP, вы можете сделать это без CORS. JSONP - это особый формат. Вот пример того, что данные в формате JSONP:

foo({"Content":"image","text":"hello"}) 

... предполагая, что вы назвали его с URL, как http://example.com/some/api?callback=foo (с JSONP, вы поставляете имя функции   — foo в вышеприведенном   — в строка запроса).

Смежные вопросы