lym6520 发表于 2013-1-23 02:11:03

jquery:利用jsonp跨域访问

客户端的跨域访问,可以通过jsonp方式来实现,jquery提供了跨域访问的方法,
      jQuery.ajax()支持get方式的跨域。当然支持跨域还需要服务器端相应的处理。

      $.ajax({             async:false,             url: '',// 跨域URL            type: 'GET',             dataType: 'jsonp',             jsonp: 'jsoncallback', //默认callback            data: mydata, //请求数据            timeout: 5000,             beforeSend: function(){//jsonp 方式此方法不被触发。原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了            },            success: function (json) { //客户端jquery预先定义好的callback函数,成功获取跨域服务器上的json数据后,会动态执行这个callback函数               if(json.actionErrors.length!=0){                     alert(json.actionErrors);               }                           },             complete: function(XMLHttpRequest, textStatus){                            },             error: function(xhr){               //jsonp 方式此方法不被触发                //请求出错处理               alert("请求出错(请检查相关度网络状况.)");             }         });

      注意:
      $.getJSON(url+"?callback=?",             function(json){                        });
    这种方式其实是上例$.ajax({..}) 的一种高级封装。
<div class="quote_title">引用
页: [1]
查看完整版本: jquery:利用jsonp跨域访问