Почему javascript fetch делает только OPTIONS и не делает дальнейших вызовов?

Я делаю запрос AJAX с выборкой javascript, но он выполняет только вызов OPTIONS и не выполняет дальнейший вызов. Самое странное, что заголовок ответа в порядке, а $.ajax работает как положено.

Вот заголовок ответа на вызов OPTIONS.

HTTP/1.1 200 OK
Content-Length: 0
Server: Microsoft-IIS/8.0
Access-Control-Allow-Origin: http://localhost:5000
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: authorization
X-Powered-By: ASP.NET
Access-Control-Max-Age: 30000000
Set-Cookie: XXXXXXXXXXXX
Date: Wed, 16 Aug 2017 00:57:48 GMT

И вот набор заголовков выборки.

mode: 'cors',
credentials: 'include',
headers: {
    Authorization: 'Bearer Token'
}

person João Silva    schedule 16.08.2017    source источник
comment
поскольку это предварительная проверка запроса CORS — см. документацию по CORS - странно, что вы не видите запрос GET/POST (в зависимости от того, что вы на самом деле делаете)   -  person Jaromanda X    schedule 16.08.2017
comment
Ты уверен, что он больше не звонит? Поскольку вы утверждаете, что он работает, значит, он должен делать другой вызов.   -  person Dave Newton    schedule 16.08.2017
comment
Я не вижу его на вкладке сети... @DaveNewton   -  person João Silva    schedule 16.08.2017
comment
@JaromandaX Я уже снова просмотрел документ CORS, но это не помогает.   -  person João Silva    schedule 16.08.2017
comment
Вы можете связать фактический запрос с ответом на OPTIONS запрос   -  person guest271314    schedule 16.08.2017
comment
как мне это сделать @guest271314 ?   -  person João Silva    schedule 16.08.2017
comment
См. Почему Fetch API отправляет первый запрос PUT как ВАРИАНТЫ fetch("url", {method:"OPTIONS"}) .then(response => response.headers) .then(_headers => (Array.from(_headers.entries(), h => console.log(h)), // check expected headers here fetch(url))).catch(err => console.error(err)).then(response => response.text()).then(text => //do stuff)   -  person guest271314    schedule 16.08.2017
comment
спасибо @guest271314 Я думаю, он получит ответ. Похоже, это проблема Chrome, которая не отображается на вкладке сети.   -  person João Silva    schedule 16.08.2017


Ответы (1)


Сегодня у меня была такая же проблема, и я обнаружил, что мой вызов POST действительно происходит, он просто не отображается в сетевом фильтре Chrome XHR. Изменив фильтр на «все», я смог увидеть запрос.

person Borre Mosch    schedule 27.07.2018
comment
Спасибо, чувак, я потратил 30 минут на то, чтобы сходить с ума, а это всегда самая простая вещь. - person fmtoffolo; 09.11.2018
comment
Спасибо @Borre, вы экономите мое время :) - person Chetan Gawai; 25.06.2019