当前位置:首页 > 日记 > 正文

AJax实现类似百度搜索栏的功能 | 面试多见

AJax实现类似百度搜索栏的功能  | 面试多见

实习过程中需要用到异步提交功能,于是试着去了解了一下ajax,瞬间感觉以前学习的真是九牛一毛啊,确实如此,做web应用开发,如果不会jquery和ajax,那真的就是白学了,了解之后我才感觉网上的那些花哨的功能已经都可以实现了。

话不多说,下面有ajax实现一个简单的百度搜索栏的功能,当用户在上面的输入框中键入字符时,会执行函数 "showHint()" 。该函数由 "onkeyup" 事件触发:

function showHint(str){var xmlhttp;if (str.length==0){document.getElementByIdx_x("txtHint").innerHTML="";return;}if (window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementByIdx_x("txtHint").innerHTML=xmlhttp.responseText;}}xmlhttp.open("GET","gethint.asp?q="+str,true);xmlhttp.send();}

源代码解释:

如果输入框为空 (str.length==0),则该函数清空 txtHint 占位符的内容,并退出函数。

如果输入框不为空,showHint() 函数执行以下任务:

创建 XMLHttpRequest 对象

当服务器响应就绪时执行函数

把请求发送到服务器上的文件

请注意我们向 URL 添加了一个参数 q (带有输入框的内容)

请求的文件是用php来写的,当然用什么都可以,和一般的页面没有本质的区别:

<?php// 用名字来填充数组$a[]="Anna";$a[]="Brittany";$a[]="Cinderella";$a[]="Diana";$a[]="Eva";$a[]="Fiona";$a[]="Gunda";$a[]="Hege";$a[]="Inga";$a[]="Johanna";$a[]="Kitty";$a[]="Linda";$a[]="Nina";$a[]="Ophelia";$a[]="Petunia";$a[]="Amanda";$a[]="Raquel";$a[]="Cindy";$a[]="Doris";$a[]="Eve";$a[]="Evita";$a[]="Sunniva";$a[]="Tove";$a[]="Unni";$a[]="Violet";$a[]="Liza";$a[]="Elizabeth";$a[]="Ellen";$a[]="Wenche";$a[]="Vicky";//获得来自 URL 的 q 参数$q=$_GET["q"];//如果 q 大于 0,则查找数组中的所有提示if (strlen($q) > 0){$hint="";for($i=0; $i<count($a); $i++){if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))){if ($hint==""){$hint=$a[$i];}else{$hint=$hint." , ".$a[$i];}}}}// 如果未找到提示,则把输出设置为 "no suggestion"// 否则设置为正确的值if ($hint == ""){$response="no suggestion";}else{$response=$hint;}//输出响应echo $response;?>

听说去百度面试的时候就是这样类似的题目,其实了解之后也不过如此嘛。

以上所述是小编给大家介绍的AJax实现类似百度搜索栏的功能 (面试多见),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

相关文章

如何用excel做除法教程excel表格做

如何用excel做除法教程excel表格做

除法,方法,教程,表格,如何用,  Excel是三大办公软件之一的一个软件,他经常用于数据的整理、分析、以及对比等。而有很多时候需要用到Excel里的计算功能把数据里的值进行计算。现在请欣赏小编带来的如何用excel做除法教程。excel表格做除法…

js Abba逆向前瞻正则匹配实例

js Abba逆向前瞻正则匹配实例

正则匹配,实例,电脑软件,js,Abba,核心代码:<script>var s1 = 'acritan';var s2 = 'bassarisk';var s3 = 'commotive';//找出不包含 "abba" 模式的单词var r = /^(?!.*?(.)(.)\2\1)/i;alert(r.test(s1)); // truealert(r.test(s2))…

word中制作表格的两种方法word怎么

word中制作表格的两种方法word怎么

方法,表格,两种,电脑软件,word,  我们不仅需要在word中输入文字编辑文档,有时候也需要在word中制作表格,如何在word中制作一个我们需要的表格,并且让表格看起来美观?下面就由小编为大家分享下word中制作表格的技巧,希望能帮助您。word中制作…

ps cs6怎么给一张烟花图添加月亮光

ps cs6怎么给一张烟花图添加月亮光

月亮,光辉,烟花,电脑软件,ps,一张夜景照片,制作成月亮光辉效果。软件名称:Photoshop CS6 13.0 破解版 中文绿色免费版 (PSCS6中文绿色版)软件大小:160MB更新时间:2014-05-151、启动软件,打开一张图片。 2、菜单栏,依次选择,&ldquo;图层&rdquo;&mda…

PS怎么画一幅啃骨头的小狗图?

PS怎么画一幅啃骨头的小狗图?

小狗,画一,电脑软件,PS,想要画一幅很可爱的图片,今天我们就来看看使用ps画小狗啃骨头的方法,很简单,详细如下文所述。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、先用钢笔工具把这个小萌狗的大骨头…

在Word2013中如何将PDF文件转换为W

在Word2013中如何将PDF文件转换为W

文件,转换为,如何将,电脑软件,Word,  Word和PDF文件之间的相互转换在我们的生活中是经常需要用到的,也是曾经困扰了很多人的一个问题,现在好了,Word2013可以直接帮我们将PDF文件转换为Word文件了。以下是小编为您带来的关于将PDF文件转换为W…

painter结合photoshop制作科幻类游

painter结合photoshop制作科幻类游

科幻,类游戏,场景,电脑软件,painter,其实做原画这方面最重要的是需要自己的思想,有自己的风格定位,现在没有人差一个好像素的照相机。别人的作品只能是借鉴以及参考,做游戏原画还是需要自己的思想才行,下面我们来看看吧。步骤一 首先用我们…

关闭QQ空间网页后电脑依然播放音乐

关闭QQ空间网页后电脑依然播放音乐

播放音乐,空间,网页,解决方法,电脑软件,  关闭QQ空间网页后电脑依然播放背景音乐怎么解决?相信很多朋友都碰到这样的问题吧,却又不知道该如何解决,下面小编就为大家详细介绍一下关闭QQ空间网页后电脑依然播放背景音乐的解决方法吧,一起来看…

JavaScript动态绑定详解

JavaScript动态绑定详解

动态绑定,详解,电脑软件,JavaScript,问题描述:假设我们的网页中动态生成了一个按钮,在这个按钮生成之前我们按照一般的事件绑定方法为此按钮绑定了触发事件,但是问题是绑定的事件并没有生效(JavaScript中为元素绑定的事件失效)分析1.首先我们来…

PPT2010如何制作翻书动画效果图文

PPT2010如何制作翻书动画效果图文

动画效果,图文教程,方法,翻书,电脑软件,  是不是已经厌倦了平淡无奇的PPT展示方式呢?是不是已经讨厌了毫无新意的图片展示形式呢?是不是还木有掌握PPT的翻书动画效果呢?下面小编马上就告诉大家PPT2010制作翻书动画效果的方法。PPT2010制…

如何手写Ajax实现异步刷新

如何手写Ajax实现异步刷新

异步刷新,电脑软件,Ajax,所谓的异步刷新,就是不刷新整个网页进行更新数据。只有通过js才能实现Ajax,进而实行异步刷新表单提交数据和Ajax提交数据的区别:表单提交是提交的整个页面中的数据,提交数据之后会抛弃之前的页面(刷新页面);ajax是在当前…