首先我们来了解怎么在javascrīpt中创建这个对象:
varxmlHttp=newXMLHttpRequest();
这行简单的代码在Mozilla、Firefox、Safari、Opera以及基本上所有以任何形式或方式支持Ajax的非Microsoft浏览器中,创建了XMLHttpRequest对象。
但是对于市场占有率达到70%的IE来说,这种方法是不行的,而不同的IE版本还有不同的创建方法,所以我们需要在IE下面使用下面两种创建对象的办法:
代码如下:
try{
xmlHttp=newActiveXObject(“Msxml2。
XMLHTTP”);//针对较新的浏览器
}catch(err){
try{
xmlHttp=newActiveXObject(“Microsoft。XMLHTTP”);//针对较老的浏览器
}catch(err2){
xmlHttp=false;
}
}
即使这样,我们也无法预料有些浏览器可能无法创建这个对象,所以在创建不成功的情况下,我们还要加上一句:
if(!xmlHttp){
alert(“无法创建XMLHttpRequest对象!”);
}
结合起来就是:
代码如下:
varxmlHttp=false;
try{
xmlHttp=newXMLHttpRequest();
}catch(trymicrosoft){
try{
xmlHttp=newActiveXObject(“Msxml2。
XMLHTTP”);
}catch(othermicrosoft){
try{
xmlHttp=newActiveXObject(“Microsoft。XMLHTTP”);
}catch(failed){
xmlHttp=false;
}
}
}
if(!xmlHttp){
alert(“无法创建XMLHttpRequest对象!”);
}
然后,让我们建立一个函数getInfo(),打开异步请求:
代码如下:
functiongetInfo(){
varnum=document。
getElementById(“num”)。value;//获得表单的数据
varurl=”/ajax/1。php?n=”+escape(num);
xmlHttp。open(“GET”,url,true);//这里的true代表是异步请求
}
一旦用open()配置好之后,就可以发送请求了。
虽然可以使用send()发送数据,但也能通过URL本身发送数据。事实上,在大部分GET请求中,用URL发送数据要容易得多,所以这里用null作为send()的参数就可以了。url地址里面的php文件是被请求来处理所需要数据的php文件,就像我们平时用PHP的时候一样,后面的参数可以加多个,并用&分隔开来。
xmlHttp。send(null);
在发送了数据之后,我们需要用回调方法来获得服务器的状态,所以就用到了onreadystatechange属性。
xmlHttp。onreadystatechange=updatePage;
此语句已经要放在send()语句前面,这样才会有效,后面的updatePage是处理返回信息的一个函数。
完整的getInfo()如下:
代码如下:
functiongetInfo(){
varnum=document。getElementById(“num”)。value;//获得表单的数据
varurl=”/ajax/1。
php?n=”+escape(num);
xmlHttp。open(“GET”,url,true);//这里的true代表是异步请求
xmlHttp。onreadystatechange=updatePage;
xmlHttp。
send(null);
}
我们还需要在html里面来触发这个函数:
<inputname=”num”id=”num”onblur=”getInfo()”type=”text”/>
下面我们需要来编写updatePage()这个函数:
functionupdatePage(){
if(xmlhttp。
readyState==4){
varresponse=xmlhttp。responseText;
document。getElementById(“city”)。value=response;
}
}
上面这段代码里面的readyState是服务器返回的一个状态,4这个状态表示请求已经发送,并处理完毕。
responseText是获得服务器返回的信息,然后通过javascrīpt赋给ID为city的表单。
到此,一个简单的Ajax程序就完成了,完整的javascrīpt代码如下:
varxmlHttp=false;
try{
xmlHttp=newXMLHttpRequest();
}catch(trymicrosoft){
try{
xmlHttp=newActiveXObject(“Msxml2。
XMLHTTP”);
}catch(othermicrosoft){
try{
xmlHttp=newActiveXObject(“Microsoft。XMLHTTP”);
}catch(failed){
xmlHttp=false;
}
}
}
if(!xmlHttp){
alert(“无法创建XMLHttpRequest对象!”);
}
functiongetInfo(){
varnum=document。
getElementById(“num”)。value;//获得表单的数据
varurl=”/ajax/1。php?n=”+escape(num);
xmlHttp。open(“GET”,url,true);//这里的true代表是异步请求
xmlHttp。
onreadystatechange=updatePage;
xmlHttp。send(null);
}
functionupdatePage(){
if(xmlhttp。
readyState==4){
varresponse=xmlhttp。responseText;
document。getElementById(“city”)。value=response;
}
}
这里还缺一个php文件,由于处理的方式不一样,写法也不一样,而且这不是Ajax的主要部分,所以这里就不放代码了。
只要记住php是输出并返回所需要的数据就可以了。
好久没更新,今天看到这教程,对初学者挺适合。
。
1.文章《Ajax PHP简单入门教程代码》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《Ajax PHP简单入门教程代码》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好