有时候工作中我们需要从A网站访问B网站请求数据,但是这种方式浏览器是拒绝的,jquery的ajax为我们提供了一种解决办法,那就是通过<script>标签进行包装,因为您<script>标签是能实现跨域访问的,下面讲解具体的用法。
前台使用代码如下:
$.ajax({
type : "post",
url : "your url",,
dataType : "jsonp", --数据类型-jsonp
jsonp:'callback', --以jsonp回调
jsonpCallback:"successCallback", --后台返回json回调函数(保持一致)
data : {
// your data
},
success: function(data) {
// succes callback
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
// error callback
}
});
前台代码需要注意的是 dateType:"jsonp",jsonpCallback:"successCallback",这两段是不能少的,其他则跟ajax正常用法一样;
后台代码如下:
JSONObject json = JSONObject.fromObject(map); //这是你封装好的json数据
out.write("successCallback("+json.toString()+")" //打印让前台接收
后台代码需要注意的是当我们将json格式的数据打包好之后不能像以前一样直接打印出来,而是需要以"successCallback"+"("+(json数据)+")"的格式进行输出、