微信开发中引起的跨域问题

什么是跨域请求

跨域是浏览器的一个同源策略的问题而衍生的需求,跨域请求是指服务器A的页面去请求服务器B的资源,而服务器A.B之间只要域名、端口号、IP不同都属于跨域

而浏览器没有对SCRIPT,IMG等包含SRC属性标签做同源策略的限制,因此有了一个JSONP的非官方协议,其原理是服务器A去访问服务器B的JS文件(这里不存在跨域限制),服务器B的JS文件获取同源下面的资源,并把数据一并返回到服务器A。

后台服务器请求另一台服务器是不属于这个范畴的,因为这是浏览器的策略,所以不会出现说跨域请求的问题。

具体使用方法可以参考另外一篇关于跨域的文章

微信开发

很多刚开始玩这个的人会在前端通过AJAX去请求微信接口,但是会提示跨域问题。
就是因为浏览器的同源策略,所以我们需要在后台去请求接口而不是前端请求。

另外,也有人非得用前端去请求,通过JSONP形式去请求数据,首先:JSONP这种非官方协议是需要后台配合写返回数据的,也就是返回回调函数,微信不可能做这个,数据不安全。其次通过localhost等形式去请求,微信是不允许以IP端口号的形式去请求的。

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 😃 https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: "./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...