首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodeS CORS中的问题

nodeS CORS中的问题
EN

Stack Overflow用户
提问于 2017-03-31 01:47:58
回答 1查看 416关注 0票数 0

我试图用NODEJS显示一个字典,但是浏览器抛出了这个问题。

XMLHttpRequest无法加载http: // localhost: 8080 / wado?RequestType = WADO & studyUID = 1.2.840.113704.1.111.5 . 26513.429 & contentType = 2Fdicom %2 2Fdicom& transferSyntax = 1.2.840.10008.1.2。在“访问-控制-允许-原产地”标题中,被请求的资源上存在。因此,原产地'http: // localhost: 3000‘不允许访问。

然后安装npm软件包cors

在这里,我将我的代码部分留在代码app.js中

代码语言:javascript
复制
Var express = require ('express');
Var cors = require ('cors')
App.use (cors ())


App.listen (3000, function () {
  Console.log ('listening on 3000')
})

还可以尝试在app.js中添加以下内容

代码语言:javascript
复制
App.use (function (req, res, next) {
  Res.header ("Access-Control-Allow-Origin", "*");
  Res.header ("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  Next ();
});

但是浏览器仍然显示错误:

XMLHttpRequest无法加载http: // localhost: 8080 / wado?RequestType = WADO & studyUID = 1.2.840.113704.1.111.5 . 26513.429 & contentType = 2Fdicom %2 2Fdicom& transferSyntax = 1.2.840.10008.1.2。在“访问-控制-允许-原产地”标题中,被请求的资源上存在。因此,原产地'http: // localhost: 3000‘不允许访问。

我有疑问,因为我也使用了我离开这里的路线index.js

代码语言:javascript
复制
var express = require('express');
var router = express.Router();
var cors = require('cors')
/*var express = require('express');
var router = express.Router();*/
var mysql = require('mysql');
router.use(cors({origin: 'http://localhost:3000'}));
/* GET home page. */
router.get('/', function(req, res, next) {
 res.render('index', { title: 'Express' });
});

module.exports = router;

我很抱歉我的英语

EN

回答 1

Stack Overflow用户

发布于 2017-03-31 02:48:56

出于安全考虑,浏览器在正常情况下不允许跨源请求。

您的页面是从localhost:3000加载的,它定义了起源,因为它是第一个请求。您的代码正在尝试从运行在端口- 8080上的另一个服务加载数据,这与原始数据不同。因此,基本上您需要启用运行在端口8080上的服务上的cors,因为它是外部源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43131076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档