Vue Cli 3 блокирует CORS даже после смены заголовков - PullRequest
0 голосов
/ 10 июля 2019

Я использую локально приложение Vue Cli 3 и облачную функцию Google (CF).

Я изменил заголовки ответа в CF следующим образом:

res.set('Access-Control-Allow-Origin', "*")
res.set('Access-Control-Allow-Methods', 'GET, POST')

ион хорошо мне подходит, когда я вызываю CF из браузера.

По какой-то причине этот же вызов блокируется CORS при вызове из приложения Vue.Я попытался с Firefox (CORS включается в настройках, а также с помощью плагина).

Я также добавил следующее в vue.config.js, как описано здесь:

// vue.config.js
module.exports = {
    devServer: {
       proxy: 'http://localhost:8010', //<-- my CFs are running on 8010
   }
}

Не знаю, какчтобы продолжить, так как весь смысл CF состоит в том, чтобы не иметь никаких работающих серверов (включая прокси).

Любые указатели высоко ценятся, ура.

1 Ответ

0 голосов
/ 11 июля 2019

Проблема была с локальным эмулятором Cloud Function.

Все заработало, когда я изменил заголовки Cloud Function в реальной среде.

// Set CORS headers for preflight requests
function setCorsHeaders(req, res){
  res.set('Access-Control-Allow-Origin', CLIENT_URL);
  res.set('Access-Control-Allow-Credentials', 'true');

  if (req.method === 'OPTIONS') {
    // Send response to OPTIONS requests
    res.set('Access-Control-Allow-Methods', 'GET,POST');
    res.set('Access-Control-Allow-Headers', 'Content-Type');
    res.set('Access-Control-Max-Age', '3600');
    res.status(204).send('');
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...