【问题标题】:Suggestion on how to implement cross domain ajax call using old version of jQuery关于如何使用旧版jQuery实现跨域ajax调用的建议
【发布时间】:2011-07-26 17:02:18
【问题描述】:

做所有,最少的 jQuery http://api.jquery.com/jQuery.ajax/ 有一个名为:“crossDomain”的属性,它对我进行一些跨域 AJAX 调用非常有用,但我遇到了一个问题...... 如果我的客户使用一些老式的 jQuery 库,它没有“crossDomain”属性,关于如何使用老式方式实现调用来进行这样的 ajax 调用有什么想法吗?谢谢你。

【问题讨论】:

  • “属性”是什么意思。你有跨域的例子吗?
  • $j.ajax({ type: "POST", url: aURL, data: aData, crossDomain: true, success: aSuccessCallBack, error:function(status){ alert("error"+status ); }});

标签: jquery ajax cross-domain version


【解决方案1】:

如果我理解正确,并且您尝试将 ajax 发布回与您的原点不同的域,那么您可以使用“.load”或“.ajax”命令通过代理执行此操作,并且创建服务器端抓取工具来为您获取远程页面。以下是你在 C# 中的做法;

http://mikeyhogarth.wordpress.com/2011/06/29/simple-c-screen-scraping-proxy-with-jquery/

【讨论】:

    【解决方案2】:

    如果客户端的服务器使用 PHP 并且 allow_url_fopen 设置为 true,您可以通过脚本传输请求,该脚本将返回另一个域上任何 url 的内容。

    【讨论】:

      【解决方案3】:

      说“跨域 ajax”实际上可能意味着两个不同的东西 - 启用 CORS 的 XMLHttpRequest,这里与 jquery 没有太大关系 - 这实际上是浏览器问题,Opera 是最后一个没有的“大”浏览器t 支持 CORS 调用。

      第二个选项是jsonp,jquery早就支持jsonp了。 从技术上讲,它不是 ajax (XMLHttpRequest) 调用,但一般来说,它是您的唯一选择。

      【讨论】:

        猜你喜欢
        • 2010-10-14
        • 2014-06-28
        • 2012-01-11
        • 2016-02-07
        • 1970-01-01
        • 2011-03-05
        • 1970-01-01
        • 2011-08-30
        • 1970-01-01
        相关资源
        最近更新 更多