2012-01-04 3 views
0

Хотелось бы уточнить, что означает междоменный AJAX с точки зрения механики, стоящей за ним.Уточнение междоменного AJAX?

Скажем, например, у меня есть сайт http://www.example.com. Этот сайт содержит файл javascript, который содержит несколько стандартных вызовов AJAX на основе jQuery (например, $.post(), $.get() и т. Д.), Расположенных по адресу http://www.example.com/js/script.js.

Теперь у меня есть еще один сайт http://www.helloworld.com, который содержит следующее:

<script type="text/javascript" src="http://www.example.com/js/script.js"></script>

ли запросы AJAX в пределах http://www.example.com/js/script.js, которые делают запросы http://www.example.com считать «кросс-домен» и, следовательно, несут проблемы совместимости, когда файл включен в http://www.internet.com?

Любые ответы были бы замечательными!

ответ

3

JS выполняется на стороне клиента, поэтому не имеет значения, где находится источник файла, он будет выполнен из домена в адресной строке.

+0

А я вижу. Это немного OT, а не непосредственно часть вопроса, но из того, что я понимаю, запросы AJAX могут быть переданы другому домену в виде, например, запроса HTTP GET/POST, но любые возвращаемые данные должны быть в формате JSONP ? – Avicinnian

+0

Это немного сложнее, чем это. Вам также необходимо добавить обратный вызов к URL-адресу вашего запроса, который соответствует имени удаленного обратного вызова jsonp. http://en.wikipedia.org/wiki/JSONP – AlienWebguy

1

Для того, чтобы иметь возможность добавить javascript из другого домена, подраздел, обслуживающий этот JS, должен предоставить файл правильными заголовками. В частности, заголовки должны иметь параметр Access-Control-Allow-Origin для домена, требующего междоменного JS.

Для удобства использования вы можете запустить Chrome с параметром --allow-file-access-from-files, и он не остановит запросы на перекрестный поиск.

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