JQuery POST запрос превращается в OPTIONS. Зачем? - PullRequest
7 голосов
/ 11 января 2011

Я явно указываю POST и не вижу данные публикации в Запросе, и более того указывает, что они имеют ОПЦИИ.

Ответ должен быть HTML, указывающим соответствие пользователей запросу в формате таблицы.Я пытаюсь опубликовать и прочитать HTML, чтобы создать поле автозаполнения ввода.

Это код Jquery:

$.post('https://internal.company.com/data/displayUserList',
    { Email: "", Name: "%GEORGE%"}, 
    function(responseText, textStatus) {
        console.log("Response:\n" + responseText + textStatus)
    }
);

Запрос, захваченный FireBug1.6.1 (Firefox)

OPTIONS /data/displayUserList HTTP/1.1
Host: internal.company.com
User-Agent: Mozilla/5.0 Firefox/3.6.8
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Origin: null
Access-Control-Request-Method: POST

Ответы [ 2 ]

10 голосов
/ 11 января 2011

Это может произойти, если вы нарушите ограничение той же политики происхождения . Заголовок запроса Access-Control-Request-Method заставляет меня думать, что это так. Я вижу, что вы указали полный адрес https://internal.company.com/data/displayUserList в своем почтовом запросе. Убедитесь, что страница, на которой размещен этот сценарий, также имеет происхождение https://internal.company.com. Лучше всего использовать относительный адрес:

$.post('/data/displayUserList', { Email: "", Name: "%GEORGE%" }, 
    function(responseText, textStatus) {
        console.log("Response:\n" + responseText + textStatus);
    }
);
0 голосов
/ 27 августа 2018

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

...