1 / 4
文档名称:

jQuery 跨域访问问题解决方法.doc

格式:doc   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

jQuery 跨域访问问题解决方法.doc

上传人:yzhluyin1 2016/7/3 文件大小:0 KB

下载得到文件列表

jQuery 跨域访问问题解决方法.doc

文档介绍

文档介绍:jQuery 跨域访问问题解决方法作者: 字体: [增加减小]类型:转载浏览器端跨域访问一直是个问题, 多数研发人员对待 js 的态度都是好了伤疤忘了疼,所以病发的时候, 时不时地都要疼上一疼. 记得很久以前使用 iframe 加 script domain 声明,yahoo js util 的方式解决二级域名跨域访问的问题. 时间过得好快, 又被拉回 js 战场时, 跨域问题这个伤疤又开疼了. 好在,有 jquery 帮忙, 跨域问题似乎没那么难缠了. 这次也借此机会对跨域问题来给刨根问底, 结合实际的开发项目, 查阅了相关资料, 算是解决了跨域问题.. 有必要记下来备忘. 跨域的安全限制都是指浏览器端来说的. 服务器端是不存在跨域安全限制的, 所以通过本机服务器端通过类似 httpclient 方式完成“跨域访问”的工作,然后在浏览器端用 AJAX 获取本机服务器端“跨域访问”对应的 url. 来间接完成跨域访问也是可以的. 但很显然开发量比较大, 但限制也最少,很多 widge t 开放平台 serve r端(如 soh u 博客开放平台) 其实就么搞的. 不在本次讨论范围. 要讨论的是浏览器端的真正跨域访问, 推荐的是目前 jQuery $.ajax() 支持 ge t 方式的跨域,这其实是采用 jsonp 的方式来完成的. 真实案例: 复制代码代码如下: var qsData = {'searchWord':$("#searchWord").attr("value"),'currentUserId':$("#current UserId").attr("value"),'':$("#pageSize").attr("value")}; $.ajax({ async:false, url: http:// 跨域的 dns/document!, type: "GET", dataType: 'jsonp', jsonp: 'jsoncallback', data: qsData, timeout: 5000, beforeSend: function(){ //jsonp 方式此方法不被触发. 原因可能是 dataTyp e 如果指定为 json p 的话, 就已经不是 aja x 事件了}, ess: function (json) {// 客户端 jquery 预先定义好的 callback 函数, 成功获取跨域服务器上的 json 数据后, 会动态执行这个 callback 函数 if(!=0){ alert(); } ontent(qsData,type,json); }, complete: function(XMLHttpRequest, textStatus){ $.unblockUI({ fadeOut: 10 }); }, error: function(xhr){ //jsonp 方式此方法不被触发. 原因可能是 dataTyp e 如果指定为 json p 的话, 就已经不是 aja x 事件了// 请求出错处理 alert(" 请求出错( 请检查相关度