`
kongshanxuelin
  • 浏览: 912158 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

【强烈推荐】如何解决JQuery类Post方式的跨域问题

阅读更多

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

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

 

但有一个问题,在我解决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/)程序测试过,效果相当好,完全可以用!

7
2
分享到:
评论

相关推荐

    利用JQuery jsonp实现Ajax跨域请求json数据

    利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据

    jquery中ajax处理跨域的三大方式

    一、处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问。但ie10以下不支持 只需要在服务端填上响应头: header("Access-Control-Allow-Origin:*"); /*星号表示...

    详解js跨域请求的两种方式,支持post请求

    常用的jquery实现跨域调用 $.ajax({ url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/index.php", dataType: "jsonp", jsonp: "callback", context: document.body, success: function(data) { ...

    Jquery实现跨域异步上传文件总结

    这个跨域异步上传功能我们借助了Jquery.form插件,它在异步表单方面很有成效,而跨域我们会在HTTP响应头上添加access-control-allow-method,当然这个头标记只有IE10,火狐和谷歌上支持,对于IE10以下的浏览器来说,...

    jquery+thinkphp实现跨域抓取数据的方法

    我实现的方式:jquery的$.post发送数据到服务器后台,在由后台的PHP代码执行远程抓取,存到数据库ajax返回数据到前台,前台用JS接受数据并显示。 //远程抓取获取数据 $("#update_ac").click(function() { $user

    jquery ajax跨域解决方法(json方式)

    最近公司开发的项目中很多地方需要跨域ajax请求,比如几个子域名下 http://a.****.com/index123.aspx, http://b.**...使用jquery.getJSON()方法可以解决跨域问题。实例如下 前台<script type=”text/javascript” sr

    jQuery使用ajax跨域请求获取数据

    跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作...

    浅谈jquery中ajax跨域提交的时候会有2次请求的问题

    我们平时在同域中请求页面什么的时候不会有这种情况,这种情况大多发生在移动端的跨域请求中发生的。 解决方法就是在服务端中加一层过滤HTTP请求的类型,把OPTION等不用的类型过滤掉。就是当请求为非 HTTP中的 GET ...

    利用jsonp解决js读取本地json跨域的问题

    主要给大家介绍了关于利用jsonp解决js读取本地json跨域的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    JQuery Ajax跨域调用和非跨域调用问题实例分析

    本文实例讲述了JQuery Ajax跨域调用和非跨域调用问题。分享给大家供大家参考,具体如下: 现在的互联网技术发展的越来越快,我们在开发过程中遇到的问题也越来越多。比如当我们需要进行跨域访问数据的时候该如何进行...

    基于Jquery插件实现跨域异步上传文件功能

    这个跨域异步上传功能我们借助了Jquery.form插件,它在异步表单方面很有成效,而跨域我们会在HTTP响应头上添加access-control-allow-method,当然这个头标记只有IE10,火狐和谷歌上支持,对于IE10以下的浏览器来说,...

    jquery ajax jsonp跨域调用实例代码

    今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友

    ajax 设置Access-Control-Allow-Origin实现跨域访问

    ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。 即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。如果...

    Vue项目中跨域问题解决方案

    Jquery jsonp 后台更改header header('Access-Control-Allow-Origin:*');//允许所有来源访问 header('Access-Control-Allow-Method:POST,GET');//允许访问的方式 使用http-proxy-middleware 代理解决(项目使用vue...

    jquery下异步提交表单 异步跨域提交表单

    1.使用post提交方式 2.构造表单的数格式 3.结合form表单的submit调用ajax的回调函数。 使用 jQuery 异步提交表单代码: 代码如下: <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <title>...

    js跨域请求的5中解决方式

    跨域请求数据解决方案主要有如下解决方法: JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request 分开说明: 一、JSONP: 直观的理解: 就是在客户端动态注册一个函数 function a(data),然后...

    jQuery.form插件的使用及跨域异步上传文件

    这个跨域异步上传功能我们借助了Jquery.form插件,它在异步表单方面很有成效,而跨域我们会在HTTP响应头上添加 access-control-allow-method,当然这个头标记只有IE10,火狐和谷歌上支持,对于IE10以下的浏览器来说...

    jQuery使用ajax跨域获取数据的简单实例

    jQuery使用ajax跨域获取数据的简单实例 var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld";  jQuery.support.cors = true;  //之前没有加这句老是提示no transport,我没去深想。 $.ajax ({ ...

    利用JQuery和Servlet实现跨域提交请求示例分享

    注意:在Post方式时,param1和param2为向远程发送的参数值,可以有多个。 代码如下://GET方式function reqeustCrossDomainProxyGet(){ var url = “http://www.baidu.com”;//远程请求地址 var param = {...

    JQuery Ajax执行跨域请求数据的解决方案

    今天前端因为需要ajax调用两个不同的项目,请求域不一样,所以涉及ajax跨域的问题 ,其实很简单,具体如下 原来的ajax请求如下: $.ajax({ type:"post", url:platformUrl +"/security/modifyPwd.do", data:$('#...

Global site tag (gtag.js) - Google Analytics