Есть такой запрос, сформирован через Postman:
POST /API/V0.1/schedule_query/ESIAFindAccount/ HTTP/1.1
Content-Type: application/json
X-Auth-Token: xxx
User-Agent: PostmanRuntime/7.20.1
Accept: */*
Cache-Control: no-cache
Postman-Token: 74d8ebff-9eba-487f-951c-7e51310bfc46
Host: 192.168.88.3:9090
Accept-Encoding: gzip, deflate
Content-Length: 359
Connection: keep-alive
{
"RoutingCode": "TESIA",
"SnilsOperator": "135-419-238 52",
"ra": "1000321282",
"lastName": "Тестов",
"firstName": "Тест",
"middleName": "Тестович",
"doc": {
"type": "RF_PASSPORT",
"series": "1111",
"number": "111111"
},
"mobile": "+7(920)4021351",
"snils": "229-785-346 20"
}
Нужно сделать такой же запрос с фронта. Пишу такой код:
let ESIAFindAccount = {
"url": "http://192.168.88.3:9090/API/V0.1/schedule_query/ESIAFindAccount/",
"data": {
"RoutingCode": "TESIA",
"SnilsOperator": "135-419-238 52",
"ra": "1000321282",
"lastName": "Тестов",
"firstName": "Тест",
"middleName": "Тестович",
"doc": {
"type": "RF_PASSPORT",
"series": "1111",
"number": "111111"
},
"mobile": "+7(920)4021351",
"snils": "229-785-346 20"
},
headers: {
"Content-Type": "application/json",
"X-Auth-Token": "xxx"
}
};
function ajax() {
$.ajax({
type: 'POST',
url: ESIAFindAccount.url,
data: ESIAFindAccount.data,
headers: ESIAFindAccount.headers,
success: function (data) {
console.log(data);
}
});
}
Уходит такой запрос:
OPTIONS /API/V0.1/schedule_query/ESIAFindAccount/ HTTP/1.1
Host: 192.168.88.3:9090
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://web-form.loc
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Access-Control-Request-Headers: content-type,x-auth-token
Accept: */*
Referer: http://web-form.loc/smev_demo
Accept-Encoding: gzip, deflate
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7,bg;q=0.6,vi;q=0.5
Я всякого видел, но чтобы так поменялся запрос - это что-то с чем-то. Откуда OPTIONS? Почему метод POST ушел в заголовки? Куда исчезли заголовки и body?
Кто-нибудь может рассказать про такие чудеса js, и что нужно написать, чтобы отправился запрос именно из первого примера?