我是靠谱客的博主 悦耳翅膀,最近开发中收集的这篇文章主要介绍ndoejs中设置http响应跨域,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在不同的网络中请求nodejs服务的时候,容易被拦截,为了防止这个问题,我们需要在nodejs服务端,设置一下跨域访问,设置跨域有两种方式。

第一种:在express()框架中

//app.js
app.all('*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");//允许的域名( * 所有域)
    res.header("Access-Control-Allow-Headers", "X-Requested-With");//服务器支持的头信息
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");//允许的方法 
    res.header("X-Powered-By", ' 3.2.1')
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
});
在进行网络请求的时候,有三种传值方式,其中的一种就是header传值方式,我为了做身份验证,就需要自己在header中放置一些信息。下面是我的设置的跨域方式,仅供参考:

//restAPI跨域访问
app.all('*', function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE");
    res.header("Content-Type", "application/json;charset=utf-8");
    res.header("X-Powered-By", ' 3.2.1');
    res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Authorization, code, name, password, idCard, id, startIndex, pageSize, sorting,startDate,endDate');
    next();
})
第二种:直接引入cors模块。在koa2框架中

使用方式:

npm install cors;

//app.js
var cors = require('cors');
app.use(cors());

我采用的是第一种方式;


详细:

var cors = require('cors');
//设置跨域访问
app.use(cors({
    'origin': '*',
    'expose': ['WWW-Authenticate', 'Server-Authorization'],
    'maxAge': 5,
    'credentials': true,
    'methods': ['GET', 'POST', 'DELETE'],
    'headers': ['Content-Type', 'Authorization', 'Accept']
}));
 

相关文章写的都挺不错,记录下来:

HTTP访问控制(CORS)

HTTP消息头(HTTP headers)

从原理分析CORS——我们到底是怎么跨域的




最后

以上就是悦耳翅膀为你收集整理的ndoejs中设置http响应跨域的全部内容,希望文章能够帮你解决ndoejs中设置http响应跨域所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部