@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.

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

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

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

Войти через центр авторизации
Похожие вопросы