Chrome CORS政策存在问题

时间:2019-09-13 07:50:44

标签: reactjs google-chrome cors axios

我有一个用于登录系统的API,但是使用axios发送请求时,它会收到CORS错误。

enter image description here

我试图安装CORS扩展并重新加载很多时间,但是仍然无法正常工作。

enter image description here

然后我尝试通过 https://cors-anywhere.herokuapp.com/发送请求,出现错误503 (服务不可用)。

enter image description here

这是我的功能:

function getAccessToken (success, failure){
  axios.request({
    url: `${BaseConstants.REST_BASE_PATH}/rest/auth/login`,
    //`https://cors-anywhere.herokuapp.com/${BaseConstants.REST_BASE_PATH}/rest/auth/login`,
    method: "POST",
    headers: {
      Authorization: 'Basic YWRtaW51c2VyOnBhc3N3b3Jk',
      'Content-type': 'application/json',
      // 'Origin': '*',
      'Access-Control-Allow-Headers': '*',
      'Access-Control-Allow-Origin': '*',
    }
  }).then(r => {
    success(r.data);
  }.catch(r => { 
    failure(r.message);
  });
}

1 个答案:

答案 0 :(得分:0)

您可以按以下方式添加“ cors”软件包(express服务器),也可以在“服务器端”添加特定行以绕过CORS问题。

const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
app.use(cors());

// some route controllers
const customRoute = require('./customRoute.controller');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));


// Custom routes
app.use('/api/tags', customRoute);

app.use(express.static(path.join(__dirname, 'dist')));


// Catch all other routes & return index file
app.get('*', (req, res) => {
  res.sendFile(path.join(__dirname, 'dist/index.html'));
});

module.exports = app;

OR

'Access-Control-Allow-Methods': 'GET, POST PUT, DELETE, OPTIONS'
'Access-Control-Allow-Origin': '*'
'Access-Control-Allow-Credentials': ' true'

希望这可以解决问题。 :)