我已注册(付费)Google网站搜索。他们有一个网络服务的网址,我可以向它发送查询,它搜索我的网站,它返回搜索结果的XML。好吧,我试图通过Ajax从我的网站上的页面加载这个XML,但我不能。我可以从我的域中的任何页面加载,因此我假设这是因为XML在Google域上。所以必须有一种方法来加载它,我不认为他们会给我URL如果我不能做任何事情大声笑。有谁知道怎么做?
谢谢!
更新:
这就是谷歌在谷歌上说的给我XML的内容:
如何获取XML
您可以获得XML结果 通过替换查询+术语来搜索引擎 使用此网址中的搜索查询:
http://www.google.com/cse?cx=MY_UNIQUE_KEY&client=google-csbe&output=xml_no_dtd&q=query+terms
MY_UNIQUE_KEY =我的唯一密钥。
答案 0 :(得分:3)
您无法使用AJAX加载外部文件。但是,您可以在自己的服务器上设置一个文件,使服务器上的内容可用。例如,在PHP中,您可以编写文件googlexml.php
:
<?php
@readfile("http://www.google.com/cse?cx=MY_UNIQUE_KEY&client=googlecsbe&output=xml_no_dtd&q=query+terms");
?>
然后你可以使用AJAX访问它。我不确定Google的使用条款是否允许您这样做,但如果他们这样做,那么这是一个选项。
答案 1 :(得分:1)
google是否无法将DNS地址转发到您服务的IP,将其折叠到您的域中?这样你就可以在AJAX中完成
googleAlias.mydomain.com
谷歌应该支持这一点,但我不确定。我想他们会像对待GMail和外域邮件一样。
删除您的跨域JavaScript问题
编辑我在下面进行了扩展,另一位用户帮助指出这应该有效(感谢Stobor)
好吧,为了让我的公司邮件进入GMail,如果我记得,我需要更改我的DNS上的MX记录以指向谷歌IP。如果Google支持,您可以将A记录添加到您的域中,以便对foo.yourdomain.com的AJAX请求与search.google.com或其他任何内容相同。 Google需要在A记录中识别来自您的主机名的请求,然后说“哦,是的,那就是我,代表我的客户”
答案 2 :(得分:0)
对于现在遇到这种情况的人来说,AJAX搜索API可能就是您想要的:http://code.google.com/apis/ajaxsearch/documentation/
编辑:实际上,经过进一步审核,可能不会与网站搜索挂钩......