У меня проблема с http-звонком в Firefox.Я знаю, что при наличии перекрестного источника firefox сначала делает OPTIONS перед POST, чтобы узнать заголовки контроля доступа.С этим кодом у меня нет проблем:
Net.requestSpeech.prototype.post = function(url, data) {
if(this.xhr != null) {
this.xhr.open("POST", url);
this.xhr.onreadystatechange = Net.requestSpeech.eventFunction;
this.xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
this.xhr.send(data);
}
}
Я тестирую этот код с помощью простого HTML, который вызывает эту функцию.Все в порядке, и у меня есть ответ ОПЦИИ и POST, и я обрабатываю ответ.Но я пытаюсь интегрировать этот код с существующим приложением, использующим jquery (я не знаю, если это проблема), когда send (data) выполняется в этом случае, браузер (firefox) делает то же самое, сначалазапрос OPTION, но в этом случае не получает ответ сервера и помещает это сообщение в консоль:
[18:48:13.529] OPTIONS http://localhost:8111/ [undefined 31ms]
Undefined ... неопределенный, потому что не получает ответ, но код тот жеЯ не знаю, почему в этом случае опция не получает ответ, у кого-то есть идея?
Я отлаживаю свое серверное приложение, и ОПЦИИ прибывают нормально на сервер, но кажется, что браузер не ждетответ.
отредактируйте позже: хорошо, я думаю, что проблема заключается в том, что я запускаю простой HTML с тегом SCRIPT, который вызывает метод, который выполняет запрос нормально, но в этом приложении, которое не получает ответ, у меня есть форма, которая выполняет событие onsubmit, я думаю, что событие submit возвращается очень быстро и браузер не успевает получить запрос OPTIONS.
отредактируйте позже, позже: WTF, я решаю проблему, сделаю запрос POST для синхронизации:
this.xhr.open("POST", url, false);
Отправьте ответ очень быстро и не можете дождаться ответа OPTION браузераесть идеи?