Узнайте о CORS
Подумайте, в вашем запросе axios.post
что-то не так, он успешно связывается с сервером.Но есть еще одна вещь, которую нужно сделать, прежде чем сервер разрешит вам запускать или манипулировать его файлами.
По соображениям безопасности браузеры ограничивают перекрестные HTTP-запросы, инициируемые из скриптов.Например, XMLHttpRequest и Fetch API следуют политике одного источника .
Таким образом, ваш запрос перекрестного источника и общий доступ к ресурсам сервера (CORS) должны совпадать.
Как вы решаете это?
В зависимости от вашего сервера и языка программирования на стороне сервера, который вы реализуете, вы можете настроить различные параметры для обработки вашего CORS.
Например, вы можете настроить, чтобы единственными допустимыми методами были: GET HEAD
Так что если кто-то попытается axios.post
на ваш сервер другим методом, например POST
, он выдаст ошибку, подобную этой:
Access to XMLHttpRequest at 'https://connect.stripe.com/oauth/token' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
Thankyou.js:40 Error: Network Error
at createError (createError.js:16)
at XMLHttpRequest.handleError (xhr.js:87)
Ресурсы:
https://www.w3.org/TR/cors/
https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS