【问题标题】:Sending data to an external file via Ajax通过 Ajax 将数据发送到外部文件
【发布时间】:2011-08-01 15:22:27
【问题描述】:

当我使用此代码时,它可以工作:

ajax.open("post","a.php",true);

但是当我尝试将数据发送到外部文件时:

ajax.open("post","http://www.example.com/a.php",true);

它不起作用。

有什么解决办法吗?

【问题讨论】:

    标签: javascript ajax http-post external send


    【解决方案1】:

    您的脚本在哪个域上执行?是 www.site.com 还是其他? 您的代码可能无法运行的原因是出于安全原因,您不允许向其他域发送 AJAX 请求。

    编辑:一种解决方法是在 mysite.com 上实现 Web 服务,向其发送 AJAX 请求。然后,该服务应将原始请求代理到 othersite.com(服务器端),然后将响应返回到正在 mysite.com 上执行的脚本。

    【讨论】:

      【解决方案2】:

      必须打开的文件的 URL - 服务器端脚本的位置。这可以是绝对 URL,例如 (http://www.foo.com/bar.php) 或相对 URL (/bar.php)。请注意 - 此 URL 应与脚本位于同一域中。您不能从 yahoo.com 中运行的脚本调用 google.com 中的脚本。这是大多数浏览器中为防止 XSS 而实施的安全措施。

      问候, 西里尔

      【讨论】:

      • 不客气!作为一种解决方法,您可以在服务器上创建一个 php 脚本,然后将其用作代理。
      猜你喜欢
      • 2017-06-22
      • 2020-10-12
      • 1970-01-01
      • 2016-10-11
      • 2016-04-18
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 1970-01-01
      相关资源
      最近更新 更多