跨域:我们在开发中从一个服务器访问另一个服务器时,只要url中有以下其中一个不一样时就会发生跨域问题,这是浏览器的安全机制造成的,也被成为同源问题
- 协议不同
- 域名不同
- 端口号不同
如何解决这种问题呢,以下我们在nodejs中利用CORS来处理跨域问题
但我们用ajax去请求数据发生跨域时,用nodejs在后台写一个服务器代理
首先是ajax请求时先去访问我们服务器代理,而不是访问你的最终的目标地址
$.post('服务器代理地址', {
url:
'目标地址',
}).then(function(res) {
console.log(res);//返回的数据
});
然后在服务器代理中利用CORS解决跨域问题
//这个文件就是一个单独的专门用来做服务器代理解决跨域的,你只要运行这个文件将这个服务器打开就行了
//若遇到跨域访问获取数据时先访问这个服务器地址就行
const express = require("express");
const cors = require("cors");
const { get } = require("axios").default; //利用axois发送个网络请求
const app = express();
app.use(cors()); //就这一部就已经解决了跨域
//如果访问的是本地服务器,现在这步就相当于已经解决了跨域问题
//如果访问其他地址的服务器,那么此处