1、Nodejs
使用js>nodejs前端开发访问后台接口数据时会出现跨域问题,自己能解决的问题一般就麻烦别人了,直接在前端处理。
首先个人认为跨域是出现在js>nodejs中模拟web服务中,因此js>nodejs提供了解决内部跨域问题,一般在导出js>nodejs配置中的module.exports => devServer => proxy对象里面,具体增加在哪个文件中这个取决项目的情况,看你启动js>nodejs时调用的是哪些配置文件,一般vuecli项目中在vue.config.js中。而其他一般在webpack.dev.conf.js文件中。具体只要找到module.exports中devServer的proxy配置即可,没有的话自己加一个。
具体代码:
devServer: {
proxy: {
'/api': {//以/api开始请求地址进行转发
target: 'http://vuecli.test/', //API服务器的地址
changeOrigin: true,
pathRewrite: {
'^/api': '' //将地址中的/api去掉 eg:http://localhost:8900/api/items 变为 http://localhost:8900/items
}
}
}
}
注意:如果使用axios请求的,可能有些设置了baseUrl ,那么baseUrl要以/api开头(这里因为上面示例代理设置的是/api开头), 总之要保证你发出的最终浏览器请求地址为/api开头,如:/api/product/getlist
最后js>nodejs会转化为上文设置的http://vuecli.test/product/getlist
2、IIS中设置跨域
非常简单
1、选择左侧网站,点击http响应
2、按照图中设置即可
Access-Control-Allow-Headers
Access-Control-Allow-Origin
CREATE BY CHANGCHUN
2021/01/25