Angularjs 跨来源请求
我想上传从前端备份的图像…我将使用ngFileUploader bower组件。 我的前端代码是:Angularjs 跨来源请求,angularjs,node.js,express,Angularjs,Node.js,Express,我想上传从前端备份的图像…我将使用ngFileUploader bower组件。 我的前端代码是: function SampleController(SampleData,Upload,$http) { var vm = this; vm.uploadFiles = function(files, errFiles) { Upload.upload({ url: "localhost:5000/upload", //webAPI expose
function SampleController(SampleData,Upload,$http) {
var vm = this;
vm.uploadFiles = function(files, errFiles) {
Upload.upload({
url: "localhost:5000/upload", //webAPI exposed to upload the file
data: {
file: files
}
}).then(function(resp) {
console.log(resp)});
}
我将在它的html文件中添加ngf select。
它将显示错误--
XMLHttpRequest无法加载localhost:5000/上载。跨源请求仅支持协议方案:http、数据、chrome、chrome扩展、https、chrome扩展资源。
如何解决此问题???您需要添加以下内容:
header('Access-Control-Allow-Headers: Content-Type');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Origin: *');
我的项目后端是laravel。因此,我将其包含在路由文件中。将cors过滤器作为中间件添加到您的应用程序中
var app = require('express')();
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
res.header('Access-Control-Allow-Methods', ['GET', 'PUT', 'POST', 'DELETE']);
next();
});
我建议您将允许的来源列为白名单。
url:http://localhost:5000/upload“
URL的前面被省略。投票关闭是一个输入错误。它会再次给出错误——POST 404(未找到),所以你运行在3000并上传到端口5000?这是一个跨域调用。您需要添加CORs标题。我已经添加了CORs标题。。。但它会再次出现同样的错误…我的备份是在expressJS中。因此,我是否需要包含这些头文件,请访问:否。。它不起作用。。。再次给出相同的postConfirm错误,您的服务器运行于:3000,客户端运行于:5000?如果是这样,则客户端中的url必须为。如果您正在访问另一个域,请确保将http://添加到url中