关于nodejs解决服务器跨域的方法

 

首先,什么是跨域?
浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域;
那么,如何解决跨域呢?
1、采用jsonp方法解决跨域,
2、在服务器端利用nodejs设置头文件header来解决跨域,实例代码如下:

const http = require(“http”);
http.createServer((req,res)=>{

//设置返回格式 JSON, 解决跨域问题
// res.setHeader('Content-type', 'application/json');

res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Headers", "Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild");
res.setHeader("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.setHeader("X-Powered-By","3.2.1");
res.setHeader("Content-Type", "application/json;charset=utf-8");

//自己的逻辑代码
})

 

请注意上文中强调的setHeader,现在网上有不少博客都直接写成了header方法(原生node没有这个方法),这是错误的(亲测),目前Nodejs中res没有header()这个方法,虽然是一个很小的点,但可能在误导很多初学者。
同时,请注意头文件的第二行,这样设置会更全面些;

原文链接:https://blog.csdn.net/libospinach/article/details/85935341

posted @ 2020-07-28 13:39  暗恋桃埖源  阅读(2131)  评论(0编辑  收藏  举报