当前位置: 乐呵网 > js学习网 > ajax学习 >

AJAX高级学习(一)――AJAX 请求实例

时间:2016-10-11 16:11来源:乐呵网提供 作者:乐呵网 点击:
Suggestions: ―――――――――――――――――――――――― ? 例子解释 - HTML表单 表单的 HTML 代码: ? form First Name:input type="text" onkeyup="showHint(this.value)" //formpSuggestions: span/span/p

Suggestions:

――――――――――――――――――――――――

?

例子解释 - HTML表单

表单的 HTML 代码:

?

<form> First Name:<input type="text" onkeyup="showHint(this.value)" /> </form> <p>Suggestions: <span></span></p> ?正如您看到的,这是一个简单的带有名为 "txt1" 输入域的 HTML 表单。输入域的事件属性定义了一个由 onkeyup 事件触发的函数。

?

?

表单下面的段落包含了一个名为 "txtHint" 的 span,这个 span 充当了由 web 服务器所取回的数据的位置占位符。

?

当用户输入数据时,名为 "showHint()" 的函数就会被执行。函数的执行是由 "onkeyup" 事件触发的。另外需要说明的是,当用户在文本域中输入数据时把手指从键盘按键上移开时,函数 showHint 就会被调用。


――――――――――――――――――――――――

例子解释 - showHint() 函数

showHint() 函数是一个位于 HTML 页面 head 部分的很简单的 JavaScript 函数。

此函数包含以下代码:

function showHint(str) { if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("您的浏览器不支持AJAX!"); return; } var url="gethint.asp"; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } ?每当有字符输入文本框时,此函数就会执行。


假如文本域中存在某些输入,函数就会执行:


――――――――――――――――――――――――

例子解释 - GetXmlHttpObject() 函数

上面的例子可调用名为 GetXmlHttpObject() 的函数。


此函数的作用是解决为不同浏览器创建不同的 XMLHTTP 对象的问题。


这是此函数的代码:

function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } ?

――――――――――――――――――――――――

例子解释 - stateChanged() 函数

stateChanged() 函数包含下面的代码:

function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } } ?每当 XMLHTTP 对象的状态发生改变时,stateChanged() 函数就会执行。

当状态变更为 4(“完成”)时,txtHint 占位符的内容就被响应文本来填充。




?

(责任编辑:admin)
------分隔线----------------------------