Json跨域

转自博客

原因

工作上遇到的要求需要后台ajax获取一些信息,怕麻烦就用HBuilder来编译静态的html和eclipse来编译相关的java代码了,不过由于跨域的问题,导致无法进行前后台的数据交互,那么什么是跨域?

跨域

用表格来说明比较方便


Json跨域_第1张图片
跨域
解决方案

jsonp

Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有”src”这个属性的标签都拥有跨域的能力所以跨域访问数据就只有一种可能,那就是在远程服务器上设法把数据装进js格式的文件里,供客户端调用和进一步处理;web客户端通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件(一般以JSON为后缀),显而易见,服务器之所以要动态生成JSON文件,目的就在于把客户端需要的数据装入进去。为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

实际代码

$.ajax({ url: url, dataType: 'jsonp', jsonp: "jsonpCallback", data: { }, success: function(data) { console.log(data); } });

就是那么简单 在url下添加dataType 和 jsonp即可

你可能感兴趣的:(Json跨域)