间歇性错误:阻止跨源请求 - 缺少CORS标头“Access-Control-Allow-Origin”

时间:2017-06-23 15:55:57

标签: node.js express cors ibm-cloud

我在Bluemix上部署的ExpressJS上有一个简单的REST API。尝试从我的AngularJS UI调用该API时,我收到了CORS错误。

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://lh-mvp-api-dev.mybluemix.net/users. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing)

所以,基于其他解决方案,我将cors包添加到我的app.js中,如下所示:

var express = require('express'),  
app = express(),
port = process.env.PORT || 3000,
Temp = require('./app/models/tempModel'),
bodyParser = require('body-parser'),
cors = require('cors'); 

app.use(cors());

现在,它间歇性地工作,它不会间歇性地工作。在当地,它总是很好。在Bluemix上它是间歇性的。即使在我重复动作3到4次时它不起作用,它也可以在第4或第5次运行。有没有人间歇性地遇到与CORS类似的问题?关于这出错的任何想法。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

在您的情况下这是正常情况。 1解决方案 下载GOOGLE CHROME CORS扩展程序CORS EXTENSION

2解决方案使用CORS webpack

npm安装CORS --save( - 如果你只想在currrent项目中安装注释模块,则保存)

答案 1 :(得分:0)

在package.json中未添加CORS依赖项时发生这种情况。一旦添加,错误就会永远消失。