1. 使用jsonp方法解决

在浏览器中主动的创建一个script对象,并且设置它的属性src为请求的地址并且携带上callback函数,请求的地址可以是随意名称,但是必须和后端的人员沟通好,实际的请求是后端执行的,后端再把访问该url返回的数据拼接返回到callback函数中,前端通过callback获取数据

2. cors跨域资源共享

服务端设置 Access-Control-Allow-Origin

  1. let express = require('express')
  2. app = express();
  3. app.post("/list",(req,res)=>{
  4. let origin = req.headers.origin
  5. res.header("Access-Control-Allow-Origin", origin); // 设置哪个源可以访问
  6. res.header('Access-Control-Allow-Credentials','true'), // 允许携带cookie
  7. res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS'); //允许方法访问
  8. // res.header("Access-Control-Allow-Headers", "X-Requested-With");
  9. res.header('Access-Control-Allow-Headers','X-Requested-With', 'Content-Type');
  10. res.send("hello")
  11. })
  12. app.listen(8001,_=> {
  13. console.log("监听成功!")
  14. })

3. 基于post message 实现跨域处理