角度:请求的资源上不存在“Access-Control-Allow-Origin”标头

阿塔伯克

我能够通过一些本地临时修复来传递这个错误。但是现在,我正在将应用程序移至网络。试图找出这个 CORS 错误两天。在我的 VDS 上,我有 xxxx:4200 和 xxxx:3000 作为 angular 和 nodejs/express 设置。两者都可以在互联网上访问。

我尝试过的:

  • 在客户端和服务器上设置 CORS 相关标头。
  • app.use(cors());

也许我的尝试是错误的,因此您可以提出相同的建议并进行一些澄清。

在此处输入图片说明

在客户端获取请求:

apiUrl = 'http://46.245.165.120:3000/';
this.http.get(this.apiUrl + `users/${type}`, { headers: { 'Authorization': `Bearer ${this.getToken()}` ,
          'Access-Control-Allow-Origin':'*',
          'Access-Control-Allow-Methods': 'GET, POST, PATCH, PUT, DELETE, OPTIONS',
          'Access-Control-Allow-Headers': 'Origin, Content-Type, X-Auth-Token'
        }});

服务器端标头和 CORS 设置:

var originsWhitelist = [
    'http://localhost:4200',      //this is my front-end url for development
    'http://x.x.x.x:4200',
    'http://www.myproductionurl.com'
];
var corsOptions = {
    origin: function (origin, callback) {
        var isWhitelisted = originsWhitelist.indexOf(origin) !== -1;
        callback(null, isWhitelisted);
    },
    credentials: true
};
app.use(cors(corsOptions));

const allowCrossDomain = function (req, res, next) {

    var origin = req.headers.origin;

    if (originsWhitelist.indexOf(origin) > -1) {
        res.header('Access-Control-Allow-Origin', origin);
    }

    res.header('Access-Control-Allow-Methods', 'OPTIONS, GET, POST'); // added OPTIONS as an allowed method
    res.header('Access-Control-Allow-Headers', 'X-Requested-With,content-type,x-access-token');
    res.header('access-control-allow-credentials', true);

    return next();
}

app.use(allowCrossDomain)
阿塔伯克

我从这里向我的 rest api 发出请求,请求能够返回 200 个响应,所以我意识到问题出在我的 angular 应用程序上。我所有的问题都是 apiUrl 是本地主机。我正在请求localhost:3000x.x.x.x:3000有点疏忽,但浪费了大量时间,所以我想回答自己的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

请求的资源错误中不存在“ Access-Control-Allow-Origin”标头

WebSockets请求中的请求资源上不存在“ Access-Control-Allow-Origin”标头

Java Spring:所请求的资源上不存在“ Access-Control-Allow-Origin”标头

所请求的资源上不存在“ Access-Control-Allow-Origin”标头(春季)

XMLHttpRequest请求的资源上不存在“ Access-Control-Allow-Origin”标头

Angular JS:所请求的资源上不存在“ Access-Control-Allow-Origin”标头

AJAX请求获取“所请求的资源上不存在“ Access-Control-Allow-Origin”标头”错误

Http.post请求的资源上不存在“ Access-Control-Allow-Origin”标头

请求资源ajax jquery phonegap上不存在“ Access-Control-Allow-Origin”标头

Express JS:所请求的资源上不存在“ Access-Control-Allow-Origin”标头

提取错误所请求的资源上不存在“ Access-Control-Allow-Origin”标头

角度6:请求的资源上不存在“ Access-Control-Allow-Origin”标头

角度4-所请求的资源上不存在“ Access-Control-Allow-Origin”标头

接收请求的资源上不存在“ Access-Control-Allow-Origin”标头,并带有axios get请求

从Flask API获取“请求的资源上不存在'Access-Control-Allow-Origin'标头”

KeyCloak:所请求的资源上不存在“ Access-Control-Allow-Origin”标头

Javascript / Flask-请求的资源上不存在“ Access-Control-Allow-Origin”标头

在AJAX请求的请求资源上不存在“ Access-Control-Allow-Origin”标头

所请求的资源上不存在“ Access-Control-Allow-Origin”标头:角度和导轨

CORS问题:所请求的资源上不存在“ Access-Control-Allow-Origin”标头

请求的资源上不存在“ Access-Control-Allow-Origin”标头

keycloak 中请求的资源上不存在“Access-Control-Allow-Origin”标头

Apigee + Angular 请求的资源上不存在“Access-Control-Allow-Origin”标头

导轨。请求的资源上不存在“Access-Control-Allow-Origin”标头

Apache Tomcat 请求的资源上不存在“Access-Control-Allow-Origin”标头

请求的资源 Symfony 上不存在“Access-Control-Allow-Origin”标头

React、API 平台 - 请求的资源上不存在“Access-Control-Allow-Origin”标头

Laravel 修复请求的资源上不存在“Access-Control-Allow-Origin”标头

Flutter:请求的资源上不存在“Access-Control-Allow-Origin”标头