ОПЦИИ net :: ERR_EMPTY_RESPONSE AngularJs Post call

0

Это мой заголовок запроса

Request URL:http://demo7876167.mockable.io/auth/login
Request Headers
Provisional headers are shown
Access-Control-Request-Headers:accept, content-type
Access-Control-Request-Method:POST
Origin:http://localhost:8000
Referer:http://localhost:8000/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id:CACC0804-7333-424B-985E-DBA8164A45E1

это точная ошибка, которая возникает на консоли

OPTIONS http://demo7876167.mockable.io/auth/login net::ERR_EMPTY_RESPONSE

Когда я пытаюсь получить доступ к тому же URL-адресу через почтальон, он работает. Это происходит всякий раз, когда я пытаюсь получить доступ к другому серверу.

Есть ли какой-либо особый способ совершать вызовы в angularJs, чтобы я мог отправлять запрос на любой сервер с включенным CORS

  • 0
    «Когда я пытаюсь получить доступ к одному и тому же URL-адресу через почтальона, это, кажется, работает». - Вы действительно делаете этот запрос ОПЦИИ с почтальоном?
  • 0
    @Quentin извините, я имел в виду почтовый звонок, который я пытаюсь через почтальона
Теги:
http-headers
xmlhttprequest

1 ответ

2
Лучший ответ

Перед выполнением запроса POST, который вы ожидаете от него, браузер выполняет запрос предварительной проверки OPTIONS. (Предположительно, это запрос POST, который вы тестируете с помощью Postman).

Запрос предварительной проверки требуется, если вы не делаете простой запрос. По умолчанию Angular будет кодировать данные в POST-запросах как JSON (вместо более распространенного кодирования формы URL). JSON не является одним из приемлемых типов контента для простого запроса.

Сервер, на который вы отправляете запрос, должен ответить на запрос OPTIONS, чтобы сообщить браузеру, что ваш JavaScript разрешен для выполнения запроса JSON Encoded POST, который вы пытаетесь сделать.

После того, как браузер получит разрешение, он сделает запрос POST, который вы имитируете с помощью Postman.

В качестве альтернативы, сделайте кодированную форму POST вместо кодированного JSON.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню