Избегайте CORS в остальных API - PullRequest
0 голосов
/ 14 января 2019

У меня проблема с вызовом API отдыха.

В документе (FAQ) веб-приложения есть пример, использующий AJAX-запрос для совершения вызова. Вот пример:

var url = 'https://example.com/yyy';

$.ajax({
    type: 'POST',
    url: url,
    cache: false,
    data: {
        opt: JSON.stringify(example)
    },
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: function (result)
    {
        console.log(result);
    } });

Я создал локальную страницу с этим кодом для публикации в API, расположенном на удаленном сервере, но получаю сообщение об ошибке CORS.

Есть ли решение, чтобы обойти эту проблему? Я пытался использовать плагин Firefox, чтобы разрешить CORS, но это не решило проблему. Сеанс аутентифицируется через форму перед использованием конечной точки.

1 Ответ

0 голосов
/ 20 января 2019

Я вижу несколько вопросов:

  1. Попробуйте запустить код из домена, а не с локального диска (в качестве альтернативы вы можете использовать https://crossorigin.me/)
  2. Как работает аутентификация? если с cookie-файлами вам нужно добавить withCredentials к запросу ajax.
  3. Убедитесь, что API возвращает заголовок Access-Control-Allow-Origin: foo, где foo - домен, в котором работает ваш код. Если вы также использовали withCredentials, вы должны добавить Access-Control-Allow-Credentials: true
...