Я настоятельно рекомендую использовать JSON-P.
Добавить имя функции обратного вызова в исходящий запрос AJAX, создав узел сценария на лету (с src = [url]), и позволить функции обратного вызова получитьвызывается с данными JSON.Вы определяете функцию обратного вызова на своей странице (должным образом распределенную по пространству имен) и помещаете в нее свою логику обновления.
Преимущество динамического обратного вызова узла сценария заключается в том, что нет такого же домена, как в XHR.1006 * Например, ваш сайт www.foobar.com, а некоторые веб-сервисы размещены на www.foobarapi.com.вы создаете узел сценария во время выполнения с помощью src = "http://www.foobarapi.com/baz?a=foo1&b=foo2&callback=foo.bar.baz"
. Тем временем на вашей странице у вас есть:
foo.bar.baz = function(data) {
// use the data
}
А ваш бэкэнд-сервис, скажем php, может выглядеть так:
$a=$GET['a'];
$b=$GET['b'];
$callback = $GET['callback'];
$c = someCalc($a, $b);
echo $callback . "({ \"c\" : $c });";