jsonp解决跨域问题

事情:

写js早晚会遇到跨域问题,jsonp为我们提供一个解决方案。


实践一,struts2提供服务端:

1. jsp页面中添加的ajax以jsonp请求
                  $.ajax({
           type: "POST",
            url: "<%=basePath %>user/inner/unreadMsg.action",
                   data: {msgid:msgid},
                   dataType: "jsonp",
                   jsonp:"callback",
                   async: false,
                   success: function(data, textStatus){
                       getMsg();
                   },
                    error:function(){
                    }
                }); 
2.struts2中action端配置jsonp返回

    @Action(value = "/user/inner/loadMsg", results = { @Result(name = "success", type = "json", params = {"contentType""text/json","callbackParameter","callback"}) })
    public String loadMsg() throws Exception {
        msgList = msgPager.getMsgList();
        count = msgPager.getCount();
        return SUCCESS;
    }
     
实践二,jsp作为服务端

<% 
String callback = request.getParameter("callback");   
 out.print(callback+"({ count:'"+count+"'} );");
 out.print(callback);
%>

客户端访问:
$(document).ready(function(){
   $.getJSON("http://xxx.test.com/statictis/index.jsp?uid=0001&callback=?", function(json){      
        alert(json.count);     
    }); 
});




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值