ajax 采用XMLHttpRequest post、get 发送数据
var xmlHttp = false; // 实例化XmlHttpRequest。 function createXmlHttpRequest() { // 非IE浏览器及IE7(7.0及以上版本),用xmlhttprequest对象创建。 if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } // IE(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了ActiveX,可能会失败。 else if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } // 创建传送到服务端的字符串。 function createQueryString() { var firstName = document.getElementById("firstName").value; var middleName = document.getElementById("middleName").value; var birthday = document.getElementById("birthday").value; var queryString = "firstName=" + firstName + "&middleName=" + middleName + "&birthday=" + birthday; return queryString; } // 使用Get的方式向服务端发送数据。 function doRequestUsingGet() { createXmlHttpRequest(); } // 使用Post的方式向服务端发送数据。 function doRequestUsingPost() { createXmlHttpRequest(); var queryString = createQueryString(); var url = "Post.aspx?timeStamp=" + new Date().getTime(); xmlHttp.open("POST", url, true); xmlHttp.setRequestHeader("Content-Length", queryString.length); xmlHttp.setRequestHeader("CONTENT-TYPE", "application/x-www-form-urlencoded"); xmlHttp.send(queryString); }
readystate 的5种状态
- 0 - (未初始化)还没有调用send()方法
- 1 - (载入)已调用send()方法,正在发送请求
- 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
- 3 - (交互)正在解析响应内容
- 4 - (完成)响应内容解析完成,可以在客户端调用了