jQuery ajax работает, но топор ios дает ошибку CORS - PullRequest
2 голосов
/ 12 марта 2020

Я перемещаю свой проект с jQuery на топор ios. В других местах он работает нормально, но я получаю сообщение об ошибке в одном конкретном c месте. ax ios выдает ошибку CORS, но jquery работает нормально. Вот код:

jQuery

$.ajax({
    url: 'my-url-here',
    type: 'post',
    data: JSON.stringify({
      "attachmentNames": [ "filename.pdf" ]
    }),
    success: function (data) {
        console.info(data);
    }
});

топор ios

axios({
    url: 'my-url-here',
    method: 'post',
    data: {
      "attachmentNames": [ "filename.pdf" ]
    }
  }).then(function(resp) {
    console.log(resp);
  });

1 Ответ

2 голосов
/ 12 марта 2020

Браузеры отправят запрос предварительной проверки , если вы отправите Content-Type со значением, которого нет в очень коротком списке.

application/json будет запускает предпечатную проверку.

Ax ios по умолчанию закодирует данные как JSON и скажет, что отправляет JSON.

В вашем jQuery вы вручную , кодирующие данные как JSON и , не в состоянии установить правильный заголовок Content-Type . В результате вы лжете на сервер и утверждаете, что данные application/x-www-form-urlencoded (по умолчанию jQuery). Этот заголовок не нуждается в предварительном запросе.


Настройте сервер для ответа на предварительный запрос с разрешением (в Access-Control-Allow-Headers) на изменение Content-Type.

...