gpt4 book ai didi

javascript - CORS 与 Express.js 和 Angular2

转载 作者:行者123 更新时间:2023-11-30 08:27:48 26 4
gpt4 key购买 nike

我正在尝试从我的远程 Express.js 服务器下载一个 PLY 文件到我的 Angular/Ionic 应用程序。我现在在 Amazon AWS 上托管了我的 Ionic 应用程序。这是来自 Ionic 应用程序的 Typescript:

//this.currentPlyFile encompasses entire URL
document.getElementById('entity').setAttribute("ply-model", "src: url(" + this.currentPlyFile + ".ply);");

我的 Express.js 服务器中有以下内容:

app.use(function(req, res, next) {
res.header('Access-Control-Allow-Credentials', true);
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,POST');
res.header('Access-Control-Allow-Headers', 'appid, X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept');
if ('OPTIONS' == req.method) {
res.send(200);
} else {
next();
}
});

但是在请求 PLY 文件时出现以下错误:

XMLHttpRequest cannot load "my url here" No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'my url here' is therefore not allowed access.

这真的很令人沮丧,因为我正在使用 Express.js 文档提供的 header 来允许 CORS。

最佳答案

预检 -> 选项 -> https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS -> 下一步()

app.use(function(req, res, next) {
res.header('Access-Control-Allow-Credentials', true);
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.header('Access-Control-Allow-Headers', 'appid, X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept');
next();
});

app.get('/', function (req, res) {
res.send('OK');
});

注意:将这些内容移到配置函数的顶部。


或者简单使用express cors :

var express = require('express')
var cors = require('cors')
var app = express();

app.use(cors());

app.get('/', function (req, res) {
res.send('OK');
});

关于javascript - CORS 与 Express.js 和 Angular2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42613352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com