前端路上遇到的坑—跨域获取json格式的数据

来源:互联网 发布:联通网络客服人工电话 编辑:程序博客网 时间:2024/05/21 14:04

LZ是一个前端菜鸟,入坑一年多,一直想写博客记录自己走过和填过的那些坑,却一直没有付之行动,最近刚辞职换工作了,轻松了很多,废话少说,开始我的博客之旅,希望可以帮到遇到同样问题的人,如果有错误的地方请各位dalao指正,轻喷。

给当地ZF部门做项目,需要从对方的微信关注用户数,对方直接给出一个url,让我们直接通过HTTP请求获取,刚开始前几天测试可以获取到数据,但是后来突然就不行了。开始排查,先把接口链接拷贝直接在浏览器中打开,数据返回正常:


打开页面,查看浏览器的控制台,原来是请求被同源策略限制了,这里可能有的同学会迷惑,“为什么浏览器直接访问正常,ajax就不行了?”,这是因为直接在浏览器访问不算跨域,浏览器是客户端,跨域是在两个服务器之间的,所以直接打开没问题(这里是我个人的理解,有不对的请指出)。




因为这个项目是多个团队合作,而我们是临时加入的,一时间也找不到对应的接口负责人,就只能自己解决了,首先想到的是利用jsonp进行跨域,虽然请求发过去了,但是问题还是没有解决


无法对返回的参数进行解析设置,什么鬼?网上一查资料,说是jsonp跨域不支持返回的格式是json的,这条路走不通了;

最终解决这个跨域的方法很简单,就是利用jQuery的getJSON方法就可以实现跨域获取json格式的数据了: