GET-запрос Axios, приводящий к ошибке CORS - PullRequest
0 голосов
/ 28 июня 2019

Я работаю над приложением VueJS и хочу использовать Yahoo!API для шоппинга (документация: https://developer.yahoo.co.jp/webapi/shopping/shopping/v1/itemsearch.html) для получения продуктов с использованием их штрих-кода. Однако, я продолжаю получать ошибку CORS, и я не уверен, почему или что я могу сделать, чтобы она работала. Мой код выглядит следующим образом:

data() {
  return {
    appId: 'dj00aiZpPUQ4RTBUUTVSNUs3TyZzPWNvbnN1bWVyc2VjcmV0Jng9NTI-',
    apiUrl: 'https://shopping.yahooapis.jp/ShoppingWebService/V1/json/itemSearch'
  }
}

...

axios.get(this.apiUrl, {
  params: {
    appid: this.appId,
    jan: 4589707054951
  }
})
.then((response) => {
  console.log(response);
})
.catch((error) => {
  alert(error)
})

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

Доступ к XMLHttpRequest по адресу https://shopping.yahooapis.jp/ShoppingWebService/V1/json/itemSearch?appid=dj00aiZpPUQ4RTBUUTVSNUs3TyZzPWNvbnN1bWVyc2VjcmV0Jng9NTI-&jan=4589707054951' от источника 'https://0.0.0.0:8080' заблокированПолитика CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Что я могу сделать, чтобы эта работа работала? Пока единственный способ, которым это работает, - это использование CORS.Расширение Chrome, но, естественно, только для тестирования.

Большое спасибо.

1 Ответ

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

Владелец сервера / API должен отправить это в своем заголовке ответа: или, если у вас есть панель настроек сервера или что-то подобное, обязательно добавьте домен, из которого вы делаете запрос.

Access-Control-Allow-Origin: 'your-domain-here'.

Пожалуйста, прочитайте больше на: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

...