Ошибка CORS / Preflight с запросом WorldPay AJAX - PullRequest
0 голосов
/ 30 сентября 2018

Я забираю чью-то работу с пользовательским шаблоном и получаю следующую ошибку:

Failed to load https://api.worldpay.com/v1/orders: Response to the preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://xxx.xxx.xxx.xxx' is therefore not allowed access.

Вот код, который отправляет запрос AJAX:

$.ajax({
            type: "POST",
            url: "https://api.worldpay.com/v1/orders",
            dataType: 'json',
            async: false,
            headers: {
              'Access-Control-Allow-Origin': '*',
              "Authorization": worldPayServiceKey
            },
            data: JSON.stringify(options),
            success: function (response){
              if (response.paymentStatus == 'SUCCESS') {
                current_booking.payment = obj.response;
              } else {
                alert("Sorry, there was a problem with your payment. We will send you an invoice instead.");
              }

              makeBooking();
            }
          });

У меня раньше была похожая проблема с CORS, но я не видел ошибки предпечатной проверки раньше.Кто-нибудь может помочь, пожалуйста?

1 Ответ

0 голосов
/ 30 сентября 2018

удалите заголовок Access-Control-Allow-Origin из заголовка запроса.это заголовок на стороне сервера.

Затем добавьте Content-Type как,

application/x-www-form-urlencoded, multipart/form-data или text/plain в зависимости от того, что вы отправляете с запросом.например,

headers: {
              "Content-Type": "application/x-www-form-urlencoded",
              "Authorization": worldPayServiceKey
            },

Единственные допустимые значения для заголовка Content-Type:

> - application/x-www-form-urlencoded
> - multipart/form-data 
> - text/plain

, для получения дополнительной информации прочитайте MDN DOC..

Надеюсь, это поможет.удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...