六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 33|回复: 0

jquery:利用jsonp跨域访问

[复制链接]

升级  78%

47

主题

47

主题

47

主题

秀才

Rank: 2

积分
167
 楼主| 发表于 2013-1-23 02:11:03 | 显示全部楼层 |阅读模式
客户端的跨域访问,可以通过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">引用
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表