Разрешить междоменные запросы в Safari и Chrome? Ответ сервера и аргументы командной строки - PullRequest
5 голосов
/ 30 декабря 2011

Я пытаюсь делать междоменные запросы с Safari на Windows. Моя версия Safari - 5.1.2.

Это классический вопрос. Во многих местах я читал, что Chrome и Safari разрешают междоменные запросы, пока Сервер отвечает заголовком следующего ответа

Access-Control-Allow-Origin: *

Я прочитал этот пост. Как разрешить междоменные запросы в Safari? и многие другие на сайте stackoverflow.

Однако никто из них не отвечает на мой вопрос.

У меня проблемы с Chrome AND Safari, выполняющим междоменные запросы AJAX, даже если я отправляю необходимый заголовок с сервера.

Я наконец запустил Chrome с "--disable-web-security". Тогда это сработало.

Мои вопросы:

1) Что мне делать с Safari? Я использую подобный аргумент командной строки?

2) Что еще важнее, можно ли мне сказать, пожалуйста, разрешена ли междоменная функциональность в Chrome и Safari по умолчанию, если сервер отвечает заголовком, или я должен убедиться, что

a) сервер отвечает заголовком

И

b) браузер запущен с правильным аргументом.

1 Ответ

4 голосов
/ 16 января 2012

Я нашел проблему.Помогло больше узнать о CORS html5rocks.com / ru / tutorials / cors .Я понял, что мои запросы инициировали предварительные запросы (ОПЦИИ), и сервер не был настроен для надлежащей обработки этих запросов.Причина, по которой это вызывало предварительные запросы, заключалась в том, что я использовал JQuery, и он добавлял пользовательский заголовок в мои запросы.Я изменил свой код, чтобы предотвратить добавление этого дополнительного заголовка, и мои запросы больше не нуждались в предварительных запросах.Теперь мне не нужно отключать веб-безопасность, и она работает нормально.

...