【发布时间】: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
当我使用此代码时,它可以工作:
ajax.open("post","a.php",true);
但是当我尝试将数据发送到外部文件时:
ajax.open("post","http://www.example.com/a.php",true);
它不起作用。
有什么解决办法吗?
【问题讨论】:
标签: javascript ajax http-post external send
您的脚本在哪个域上执行?是 www.site.com 还是其他? 您的代码可能无法运行的原因是出于安全原因,您不允许向其他域发送 AJAX 请求。
编辑:一种解决方法是在 mysite.com 上实现 Web 服务,向其发送 AJAX 请求。然后,该服务应将原始请求代理到 othersite.com(服务器端),然后将响应返回到正在 mysite.com 上执行的脚本。
【讨论】:
必须打开的文件的 URL - 服务器端脚本的位置。这可以是绝对 URL,例如 (http://www.foo.com/bar.php) 或相对 URL (/bar.php)。请注意 - 此 URL 应与脚本位于同一域中。您不能从 yahoo.com 中运行的脚本调用 google.com 中的脚本。这是大多数浏览器中为防止 XSS 而实施的安全措施。
问候, 西里尔
【讨论】: