Jquery跨域调用(JSONP)遇到error问题的解决

原创
2013/10/23 14:45
阅读数 1.1W

之前Jquery的跨域调用一直没有解决,不知道为什么老是执行error里的语句,今天花了点时间研究了一下,终于把问题解决了。

关键的地方是返回的字符串,返回的字符串必须包含jsonp的回调函数名称,而且要为json数据。

javascript代码

$.ajax({
    url: http, //请求的url
    dataType : "jsonp", 
    //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback) 
    jsonp: "callback",
    //自定义的jsonp回调函数名称"jsonpCallback",返回的json也必须有这个函数名称
    jsonpCallback:"jsonpCallback",
    success : function(json){ 
              if(json.flag=="successfully") 
              { console.log("request successfully");}                          
                           },
    error: function(xhr,status,error)
             { console.log(xhr); }
    });

java代码

return "jsonpCallback"+"({\"flag\":\"successfuly\"})";//返回必须是json字符串

浏览器返回的结果如下

jsonpCallback({"flag":"successfuly"})

展开阅读全文
加载中

作者的其它热门文章

打赏
3
12 收藏
分享
打赏
1 评论
12 收藏
3
分享
返回顶部
顶部