【问题标题】:Remote domain load browser restriction远程域加载浏览器限制
【发布时间】:2009-12-30 08:48:10
【问题描述】:

您知道不允许远程域加载的浏览器限制,即无法正常工作:

$("#verizon").load("http://verizon.domain.net/?var=rscms&tan=0.9"); 

有没有办法解决这个问题?我宁愿不必 iframe 内容

【问题讨论】:

    标签: jquery html ajax load


    【解决方案1】:

    您可以使用以 C#、PHP 或任何您有权访问的方式编写的本地脚本来读取内容并将它们转发回 jQuery 请求。

    $.post("remote-fetch.php", {url:"http://verizon.com"}, function(results) {
      alert(results);
    });
    

    这将调用类似于以下内容的本地 php 脚本:

    print file_get_contents($_POST["url"]);
    // whatever is printed here will be alerted in our jQuery code
    

    当然,您可能希望在服务器端脚本中包含更多的逻辑。我的示例只是关于如何获得所需结果的概念。

    【讨论】:

      【解决方案2】:

      有些网站有JSONP API。如果该站点没有用于跨域请求的 API,我认为您能做的最好的事情就是通过您的服务器代理内容。

      【讨论】:

        【解决方案3】:

        您可以使用 PHP 或其他语言构建一个简单的代理,该代理将 URL 作为参数执行 curl 等以将数据返回到您的 JavaScript。只需在同一个域上托管代理即可。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-22
          • 2011-11-04
          • 1970-01-01
          • 2017-05-09
          • 2019-01-08
          • 2012-11-04
          • 1970-01-01
          • 2019-06-12
          相关资源
          最近更新 更多