跨域问题

何为跨域:

    跨域的原理是浏览器的同源策略.不同源即为跨域.

产生的原因:

    浏览器中的安全策略不同源即为跨域.(同源:协议,域名,端口一致)

 jsonp:

  jsonp原理:

      利用javascript标签中的src属性不存在同源限制.核心是服务器后台返回一个函数的调用,同时并传入后台数据.

CORS:

       CORS中文意思是跨域资源共享 ,需要服务器端进行 CORS 配置;CORS 发送的是真正的Ajax请求,CORS 支持Ajax的跨域如果要启用 CORS 跨域资源共享,关键在于 服务器端,

      只要 服务器支持CORS跨域资源共享,则 浏览器肯定能够正常访问 这种 CORS 接口;而且,客户端在 发送 Ajax的时候,就像发送普通AJax一样,没有任何代码上的变化;

       对于Node来说,如果想要开启 CORS 跨域通信,只需要安装cors的模块引入即可.

       方法:

    下载安装引入: 在 API 服务器端,启用 CORS 跨域资源共享

         
1 const cors = require('cors')
2 app.use(cors())

或: 

// No 'Access-Control-Allow-Origin' header is present on the requested resource.
app.all('*', function (req, res, next) {
res.header('Access-Control-Allow-Origin', '*')
next()
})

 

        

posted @ 2019-01-05 19:59  你的张二狗  阅读(162)  评论(0编辑  收藏  举报