浙江省高等学校教师教育理论培训

微信搜索“教师资格证岗前培训”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

【强烈推荐】如何解决JQuery类Post方式的跨域问题 - 空山雪林通用模块设计工作室 - ITeye技术网站

在很多应用场景,利用JQ的getJSON解决跨域问题是首选,非常好用,类似代码如下:

Js代码  收藏代码
  1. $.getJSON(" http://跨域的dns/document!searchJSONResult.action?name1="+value1+"&jsoncallback=?",  
  2.       function(json){  
  3.       if(json.属性名==值){  
  4.       // 执行代码  
  5.             }  
  6.         });  

 

但有一个问题,在我解决http://l.faqee.com/应用的时候,起初也是利用这种方式将聊天记录一键发送到用户邮箱中,后来我发觉一旦聊天记录超过2000字节以上时(在我的站点,这种情况是相当普遍的),但利用这种方式执行代码时,就会发现发送到邮箱的聊天数据是不全的,非常郁闷,查了些资料,最终我觉得可以利用Flash+js的方式来完成这个工作,也是前辈们的代码。

引用一段JQ对于解决Post方式跨域问题的申明:

写道
注意,jquey是不支持post方式跨域的.
为什么呢?
虽然采用post +动态生成iframe是可以达到post跨域的目的(有位js牛人就是这样把jquery1.2.5 打patch的),但这样做是一个比较极端的方式,不建议采用.
也可以说get方式的跨域是合法的,post方式从安全角度上,被认为是不合法的, 万不得已还是不要剑走偏锋..

 

附件中的代码很好的解决了这个问题,前提是客户端必须有flash,并且在服务端的根目录下放置crossdomain.xml文件即可,我在我的路过的(http://l.faqee.com/)程序测试过,效果相当好,完全可以用!

posted on 2012-05-09 16:52  lexus  阅读(652)  评论(0编辑  收藏  举报