jQuery.ajax перестал работать, когда URL с другого сервера

Да это:) Я думаю, что можно также сделать Object.prototype.hasOwnProperty.call(x, 'key'), который должен также работать, если x имеет свойство, названное hasOwnProperty:)

, Но это тестирует на собственные свойства. Если Вы хотите проверить, имеет ли это свойство, которое может также принадлежаться, можно использовать typeof x.foo != 'undefined'.

11
задан KingErroneous 29 July 2009 в 16:21
поделиться

3 ответа

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

Цитата из документации ajax на http: // jquery. com

Примечание: все удаленные (не на одном домен) запросы должны быть указаны как GET, когда 'script' или 'jsonp' является dataType (потому что загружает скрипт используя тег сценария DOM). Параметры Ajax которые требуют объекта XMLHttpRequest недоступны для этих запросов. Функции завершения и успеха: называется по завершении, но не получить объект XHR; beforeSend и функции dataFilter не вызывается.

11
ответ дан 3 December 2019 в 06:22
поделиться

Метод ajax () внутренне использует XmlHttpRequest, который подчиняется той же политике домена http://en.wikipedia.org/wiki/Same_origin_policy . Вместо этого для выполнения междоменных вызовов можно использовать метод getJson () .

Надеюсь, это поможет, Богдан

2
ответ дан 3 December 2019 в 06:22
поделиться

Потому что, если такая же политика происхождения, jQuery не позволит этого. Лучшим вариантом будет использование какой-либо страницы прокси-сервера для получения необходимых страниц.

0
ответ дан 3 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: