@DeboshiR
Свободу разработчикам!!!

Как отправить curl через Angular?

Пытаюсь отправить примерно такой curl:
curl -X POST https://secure.payu.com/api/v2_1/orders \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
    -d '{
        "notifyUrl": "https://your.eshop.com/notify",
        "customerIp": "127.0.0.1",
        "merchantPosId": "145227",
        "description": "RTV market",
        "currencyCode": "PLN",
        "totalAmount": "21000",
        "buyer": {
            "email": "john.doe@example.com",
            "phone": "654111654",
            "firstName": "John",
            "lastName": "Doe",
            "language": "pl"
        },
        "products": [
            {
                "name": "Wireless Mouse for Laptop",
                "unitPrice": "15000",
                "quantity": "1"
            },
            {
                "name": "HDMI cable",
                "unitPrice": "6000",
                "quantity": "1"
            }
        ]
    }'


В angular он выглядит примерно так:
const body = {
  "notifyUrl": "https://your.eshop.com/notify",
  "customerIp": "127.0.0.1",
  "merchantPosId": "145227",
  "description": "RTV market",
  "currencyCode": "PLN",
  "totalAmount": "21000",
  "buyer": {
    "email": "john.doe@example.com",
    "phone": "654111654",
    "firstName": "John",
    "lastName": "Doe",
    "language": "pl"
  },
  "products": [
    {
      "name": "Wireless Mouse for Laptop",
      "unitPrice": "15000",
      "quantity": "1"
    },
    {
      "name": "HDMI cable",
      "unitPrice": "6000",
      "quantity": "1"
    }
  ]
}

this.http
  .post<any>('https://secure.snd.payu.com/api/v2_1/orders', body, { headers: headers })
  .subscribe(res => {
    console.log(res);
  });

Запрос из консоли срабатывает нормально, но запрос из браузера возвращает ошибку
Access to XMLHttpRequest at 'https://secure.snd.payu.com/api/v2_1/orders' from origin 'localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Что я делаю не так?
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ответы на вопрос 1
solotony
@solotony
покоряю пик Балмера
браузер по умолчанию выполняет проверку, разрешено ли текущему сайту выполнять запросы на конкретный сервер (CORS policy).

что бы это обойти надо либо добавить для сервера поддержку CORS либо в браузере отключить CORS
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы