为了账号安全,请及时绑定邮箱和手机立即绑定

最简洁的jq实现jsonp跨域

标签:
JavaScript

最近一直在找跨域的解决方法,找了很久,网上有些不是太详细就是太复杂,今天我把这些东西整理出来,让大家可以更快的实现跨域请求,跨域不是梦。


首先肯定是最简单的请求使用jq的$.getJSON()

$.getJSON(url+"?callback=?", 
function(json){ 

}); 

这是基本格式,下面是例子

$.getJSON("http://localhost:8080/crcp/rcp/t99eidt/testjson.do?jsonp=?",function(data)  {   

            }  
);   

第一个?代表后面是参数,与咱们一般调用一样。重要的是第二个?,则是jquery动态给你生成毁掉函数名称。
图片描述

 $.ajax({  
    type:"GET",  
    async :false,  
    url:"http://localhost:8080/crcp/rcp/t99eidt/testjson.do",  
    dataType:"jsonp",  
    success:function(data){  
    var html=JSON.stringify(data.RESULTSET);  

    },  
    error:function(){  
        alert("error");  
    }  

});  

注意:这种形式,默认的参数是callback,而不是会是其他。则action代码中获取calback值则
String cb=request.getParameter("callback");
并且生成的回调函数,默认也是类似上述一大串数字。
根据Ajax手册,更改callback名称以及回调函数名称。
http://www.w3school.com.cn/jquery/ajax_ajax.asp
jsonp:jsonp,则请求的地址为:http://localhost:8080/crcp/rcp/t99eidt/testjson.do?jsonp=自动生成回调函数名
jsonpCallback:callbackfunction,则请求的地址为:
http://localhost:8080/crcp/rcp/t99eidt/testjson.do?jsonp=callbackfunction
最后返回前台的是:
callbackfunction(具体的json值)

点击查看更多内容
18人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消