You cannot use XMLHttpRequest
with an absolute URL like http://www.google.com/...
.
The browser will prevent cross-site scripting. You have to use a relative path, otherwise most browsers will simply return an empty responseText
.
As one possible workaround, you could set up a very simple reverse proxy (using mod_proxy if you are on Apache). This would allow you to use relative paths in your AJAX request, while the HTTP server would be acting as a proxy to any "remote" location.
The fundamental configuration directive to set up a reverse proxy in mod_proxy is the ProxyPass. You would typically use it as follows:
ProxyPass /ajax/ http://www.google.com/search
In this case, the browser would be requesting /ajax/?hl=en&source=hp&q=test
but in fact the server would serve this by acting as a proxy to http://www.google.com/search?hl=en&source=hp&q=test
.
If you are using IIS, you may want to use the Managed Fusion URL Rewriter and Reverse Proxy to set up a reverse proxy.