首先我们来了解怎么在javascrīpt中创建这个对象: var xmlHttp = new XMLHttpRequest(); 这行简单的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpRequest 对象。但是对于市场占有率达到70%的IE来说,这种方法是不行的,而不同的IE版本还有不同的创建方法,所以我们需要在IE下面使用下面两种创建对象的办法:
if (!xmlHttp){ alert("无法创建 XMLHttpRequest 对象!"); } 结合起来就是:
复制代码 代码如下:
var xmlHttp = false; try { xmlHttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xmlHttp = false; } } } if (!xmlHttp){ alert("无法创建 XMLHttpRequest 对象!"); }
然后,让我们建立一个函数getInfo(),打开异步请求:
复制代码 代码如下:
function getInfo() { var num = document.getElementById("num").value;//获得表单的数据 var url = "/ajax/1.php?n=" + escape(num); xmlHttp.open("GET", url, true);//这里的true代表是异步请求 }
function getInfo() { var num = document.getElementById("num").value;//获得表单的数据 var url = "/ajax/1.php?n=" + escape(num); xmlHttp.open("GET", url, true);//这里的true代表是异步请求 xmlHttp.onreadystatechange = updatePage; xmlHttp.send(null); }
我们还需要在html里面来触发这个函数:
下面我们需要来编写updatePage()这个函数:
function updatePage(){ if (xmlhttp.readyState == 4) { var response = xmlhttp.responseText; document.getElementById("city").value = response; } } 上面这段代码里面的readyState是服务器返回的一个状态,4这个状态表示请求已经发送,并处理完毕。responseText是获得服务器返回的信息,然后通过javascrīpt赋给ID为city的表单。
到此,一个简单的Ajax程序就完成了,完整的javascrīpt代码如下:
var xmlHttp = false; try { xmlHttp = new XMLHttpRequest(); } catch (trymicrosoft) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { xmlHttp = false; } } } if (!xmlHttp){ alert("无法创建 XMLHttpRequest 对象!"); }
function getInfo() { var num = document.getElementById("num").value;//获得表单的数据 var url = "/ajax/1.php?n=" + escape(num); xmlHttp.open("GET", url, true);//这里的true代表是异步请求 xmlHttp.onreadystatechange = updatePage; xmlHttp.send(null); }
function updatePage(){ if (xmlhttp.readyState == 4) { var response = xmlhttp.responseText; document.getElementById("city").value = response; } } 这里还缺一个php文件,由于处理的方式不一样,写法也不一样,而且这不是Ajax的主要部分,所以这里就不放代码了。只要记住php是输出并返回所需要的数据就可以了。
好久没更新,今天看到这教程,对初学者挺适合.
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn