首先,什么是跨域?
浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域;
那么,如何解决跨域呢?
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