完整的 AJAX 写法(支持多浏览器)
代码如下:
<script type="text/javascript"> var xmlhttp; function Submit() { //1.创建 XMLHttpRequest 对象 if (window.XMLHttpRequest) { //IE7,IE8,FireFox,其它 xmlhttp = new XMLHttpRequest(); if (xmlhttp.overrideMimeType) { //针对某些特定版本的mozillar浏览器的BUG进行修正 xmlhttp.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { //IE6,IE5.5,IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } // 简单写法,应该也可以 //xmlhttp = new XMLHttpRequest()|| new ActiveXObject("Microsoft.XMLHTTP"); if (xmlhttp == undefined || xmlhttp == null) { alert(‘当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器!‘); return; } //将每次的状态保存到 数组里 array.push(xmlhttp.readyState); //2.注册回调方法 callback xmlhttp.onreadystatechange = callback; //获取客户端内容 var userName = document.getElementById("UserName").value; /* //Get 请求方式 //3.设置和服务端交互的相应参数 xmlhttp.open("Get", "AjaxRequst.ashx?name="+userName, true); //4.设置向服务器发送数据,启动和服务端的交互 xmlhttp.send(); */ //Post 请求方式 //3.设置和服务端交互的相应参数 xmlhttp.open("Post", "AjaxRequst.ashx", true); //Post方式需要增加的代码 xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //4.设置向服务器发送数据,启动和服务端的交互 xmlhttp.send("name="+userName); } function callback() { //5.判断和服务器端的交互是否完成,还要判断服务端的是否正确返回了数据 if (xmlhttp.readyState == 4) { //表示和服务端的交互已经完成 if (xmlhttp.status == 200) { //表示服务器的响应代码是200,正确的返回数据 //纯文件数据的接受方法 var message = xmlhttp.responseText; //将返回的内容添加到DIV层里 var div = document.getElementById(‘message‘); div.innerHTML = message; //XML数据对应的DOM对象的接受方法 //使用前提是,服务器端需要设置content-type为text/xml //var domXml = xmlhttp.responseXML; } } } </script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。