Как добавить запрос OPTIONS перед основным запросом в axios - PullRequest
0 голосов
/ 16 июня 2019

Я хочу отправить запрос OPTIONS перед основным запросом для решения проблемы CORS. Как решить эту проблему со стороны клиента?

Я использовал расширение браузера для решения проблемы. И это сработало. Но я не хочу использовать расширение

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related

А вот и мой код:

import axios from 'axios'

const service = axios.create({
    baseURL: "http://sub.domain.com/api/",
    timeout: 10000,
    headers: {
        'Content-Type': 'application/json',
        'Accept': 'application/json',
        'Authorization': 'auth'
    }
})


export default class API {
    static getData () {
        return service.get('get-data')
    }
}

=====

API.getData()

1 Ответ

0 голосов
/ 16 июня 2019

Предварительный запрос автоматически выдается браузером при необходимости.В обычных случаях разработчикам внешнего интерфейса не нужно самим создавать такие запросы.

https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request

, поэтому вам не нужно делать это самостоятельно, пока вы делаетезапрос от вашего браузера, если сервер API, который вы вызываете, не разрешает ваш домен localhost, вам нужно изменить домен в вашем браузере, чтобы разрешить домен в качестве примера, если сервер отвечает на опции заголовками, которые разрешают доступ с www.Только на xyz.com вы можете редактировать файл etc / hosts на вашем компьютере, чтобы он указывал на localhost

127.0.0.1       localhost www.xyz.com 

, затем вы можете открыть код в браузере с помощью www.xyz.com, и теперь доступ будетразрешено

...