междоменный домен ajax - PullRequest
       8

междоменный домен ajax

1 голос
/ 10 февраля 2012

После прочтения этой статьи я понимаю, что для того, чтобы разрешить междоменные вызовы ajax, я должен установить ответ сервера равным Access-Control-Allow-Происхождение: * (общедоступно для целей тестирования), и вот мой серверный код, Google AppEngine на Python

self.response.headers.add_header('Access - Control - Allow - Origin:*')
self.response.headers.add_header('content-type', 'application/json', charset = 'utf-8')
self.response.out.write(simplejson.dumps(Jsonobject))

Я не знаю, правильно ли это.И мой Ajax-вызов

xhr.open("get", "http://example.com", true);
xhr.setRequestHeader("Access-Control-Allow-Origin","example");

Я всегда получал эту ошибку. Нулевой источник не разрешен Access-Control-Allow-Origin. Как мне это настроить?Большое спасибо

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012
  1. Вам нужно использовать Access-Control-Allow-Origin, а не Access - Control - Allow - Origin
  2. Я не уверен, что self.response.headers.add_header(str) действительно, возможно self.response.headers.add_header(key, name)?
  3. *домен не работает (по крайней мере, не для всех браузеров).Вы должны использовать точный домен, полное имя, с протоколом.Как и http://example.com
  4. Вам нужен заголовок Origin для вызова ajax.Я не уверен, как настроить raw xhr, но я думаю, что это сделано самим браузером, и вы не можете изменить это значение.В любом случае, ваш домен не example
  5. Не забывайте, что он не работает для большинства браузеров IE и Opera.
0 голосов
/ 02 марта 2017

Может быть, эти строки кода решат вашу проблему.

Вы можете сделать одну вещь, для этого достаточно установить заголовки Access-Control-Allow-Origin & Access-Control-Allow-Headers в CustomeHeaders в файле веб-службы web.config.

 <add name="Access-Control-Allow-Origin" value="*" />
 <add name="Access-Control-Allow-Headers" value="Content-Type" />

Если вы хотите разрешить только для определенного домена, вы можете сделать это с определенным значением домена вместо * значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...