AJAX要求从Google获取结果

时间:2010-01-19 22:46:16

标签: javascript xml ajax xmlhttprequest

我想修改this AJAX example中的代码以获取Google的结果。

我使用Random()方法调用将其取出,但是如何使用JavaScript中的查询字符串?我怎样才能最好地使用XMLHttpRequest来手动构建请求(这是为了测试所以必须手动完成,而不是使用框架)。

由于

1 个答案:

答案 0 :(得分:3)

您不能将XMLHttpRequesthttp://www.google.com/...等绝对网址一起使用。

浏览器会阻止cross-site scripting。您必须使用相对路径,否则大多数浏览器只会返回一个空的responseText

作为一种可能的解决方法,您可以设置一个非常简单的reverse proxy(如果您使用Apache,则使用mod_proxy)。这将允许您在AJAX请求中使用相对路径,而HTTP服务器将充当任何“远程”位置的代理。

mod_proxy中设置反向代理的基本配置指令是ProxyPass。您通常会按如下方式使用它:

ProxyPass     /ajax/     http://www.google.com/search

在这种情况下,浏览器会请求/ajax/?hl=en&source=hp&q=test,但实际上服务器会通过充当http://www.google.com/search?hl=en&source=hp&q=test的代理来实现此目的。

如果您使用的是IIS,则可能需要使用Managed Fusion URL Rewriter and Reverse Proxy来设置反向代理。