- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jQuery跨域访问问题解决方法
jQuery 跨域访问问题解决方法?? 2011-01-19 22:05:12|??分类: HYPERLINK /blog/ \l m=0t=1c=fks_087070085085085066082085074071081084082065081095 \o 默认分类 默认分类 |??标签: |字号大中小?订阅 浏览器端跨域访问一直是个问题, 多数研发人员对待js的态度都是好了伤疤忘了疼,所以病发的时候,时不时地都要疼上一疼.记得很久以前使用iframe 加script domain 声明,yahoo js util 的方式解决二级域名跨域访问的问题.时间过得好快,又被拉回js战场时, 跨域问题这个伤疤又开疼了.好在,有jquery帮忙,跨域问题似乎没那么难缠了.这次也借此机会对跨域问题来给刨根问底,结合实际的开发项目,查阅了相关资料,算是解决了跨域问题..有必要记下来备忘.跨域的安全限制都是指浏览器端来说的.服务器端是不存在跨域安全限制的,所以通过本机服务器端通过类似httpclient方式完成??跨域访问”的工作,然后在浏览器端用AJAX获取本机服务器端“跨域访问”对应的url.来间接完成跨域访问也是可以的.但很显然开发量比较大,但限制也最少,很多widget开放平台server端(如sohu博客开放平台)其实就么搞的.不在本次讨论范围.要讨论的是浏览器端的真正跨域访问,推荐的是目前jQuery $.ajax()支持get方式的跨域,这其实是采用jsonp的方式来完成的.真实案例:复制代码 代码如下:var qsData = {searchWord:$(#searchWord).attr(value),currentUserId:$(#currentUserId).attr(value),conditionBean.pageSize:$(#pageSize).attr(value)};$.ajax({async:false,url: http://跨域的dns/document!searchJSONResult.action,type: GET,dataType: jsonp,jsonp: jsoncallback,data: qsData,timeout: 5000,beforeSend: function(){//jsonp 方式此方法不被触发.原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了},success: function (json) {//客户端jquery预先定义好的callback函数,成功获取跨域服务器上的json数据后,会动态执行这个callback函数if(json.actionErrors.length!=0){alert(json.actionErrors);}genDynamicContent(qsData,type,json);},complete: function(XMLHttpRequest, textStatus){$.unblockUI({ fadeOut: 10 });},error: function(xhr){//jsonp 方式此方法不被触发.原因可能是dataType如果指定为jsonp的话,就已经不是ajax事件了//请求出错处理alert(请求出错(请检查相关度网络状况.));}});注意:$.getJSON( http://跨域的dns/document!searchJSONResult.action?name1=+value1+jsoncallback=?,function(json){if(json.属性名==值){// 执行代码}});这种方式其实是上例$.ajax({..}) api的一种高级封装,有些$.ajax api底层的参数就被封装而不可见了.这样,jquery就会拼装成如下的url get请求http:// 跨域的 dns/document!searchJSONResult.action?jsoncallback=jsonp1236827957501_=1236828192549searchWord=%E7%94%A8%E4%BE%8BcurrentUserId=5351conditionBean.pageSize=15在响应端(http://跨域的dns/document!searchJSONResult.action),通过 jsoncallback = request.getParameter(jsoncallback) 得到jquery端随后要回调的js function name:jsonp123
您可能关注的文档
最近下载
- 房地产财务管理方面论文财务管理方面的论文.docx VIP
- 五年级道德与法治下册第三单元《百年追梦 复兴中华》教学设计(统编版).docx
- 《艾肯2016年度中央空调市场报告》.pdf VIP
- 智慧药学与AIGC应用与实践技能培训题库答案-2025年华医网继续教育.docx VIP
- 韬睿惠悦GGS岗位价值评估使用手册4.2版本.pdf VIP
- 一年级数学20以内计算练习凑十法、破十法、借十法、平十法.doc VIP
- LED灯条成品检验标准012.doc VIP
- 高中地理2025届一轮复习第22讲 植被与土壤 课件.pptx VIP
- 浙江省温州市十校联合体2024-2025学年高二上学期11月期中联考数学试题 含解析.docx VIP
- 中国异叶天南星项目经营分析报告.docx
文档评论(0)