手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网页制作>Javascript>列表

AJAX案例研究之google suggest

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

google suggest 比起gmail要好对付的多了,就一个页面一个脚本文件,代码都一目了然,可惜用了google域名,在调的时候经常连接被断掉,最后还是找了一个代理才调通了代码。可以在本地运行的google suggest请在这个连接下载:

http://www.blogjava.net/Files/emu/suggest.rar

其中的脚本文件ac.js已经做了一点整理,关键的qc函数crack了一下,使它可以找到服务器:


function qc(ac){
if(l&&l.readyState!=0){
l.abort()
}
l
=vb();
if(l){
l.open(
"GET","http://www.google.com" Aa "&js=true&qu=" ac,true);
l.onreadystatechange
=function(){
if(l.readyState==4&&l.responseText){
if(l.responseText.charAt(0)=="<"){
V
--
}
else{
eval(l.responseText)
}
}
};
l.send(
null)
}
}

插个断点就可以看到,比如我们在输入框中输入了“AJAX”,google suggest就向服务器请求这样一个资源:

http://www.google.com/complete/search?hl=en&js=true&qu=AJAX

而服务器则返回:

sendRPCDone(frameElement, "ajax", new Array("ajax", "ajax amsterdam", "ajax fc", "ajax ontario", "ajax grips", "ajax football club", "ajax public library", "ajax football", "ajax soccer", "ajax pickering transit"), new Array("3,840,000 results", "502,000 results", "710,000 results", "275,000 results", "8,860 results", "573,000 results", "40,500 results", "454,000 results", "437,000 results", "10,700 results"), new Array(""));


剩下的大家都会做了,不多废话。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!