大家都知道使用ajax技术,他是几种技术的结合:同过异步xhr方法与服务器通信,对服务器返回结果通过js来操作界面上dom元素,在界面上展现返回结果,当然还有css的美化和修饰。
现在大多数主要的js库中都封装了,所以在大多数情况下无需开发者过多的关注。个人为了更加升入了解特此记录。
直接上代码;
<script language="javascript" type="text/javascript">
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
</script>
由于浏览器各自实现方式不同所以在生成xhr对象时候还需要考虑兼容性.
记住,XMLHttpRequest 惟一的目的是让您发送请求和接收响应。其他一切都是 JavaScript、CSS 或页面中其他代码的工作:改变用户界面、切换图像、解释服务器返回的数据。准备好 XMLHttpRequest之后,就可以向服务器发送请求了。
发送请求:
open() 配置好之后,就可以发送请求了。
var url = "/cgi-local/lookupCustomer.php?phone=" + escape('');
request.open("GET", url, true);
open方法有五个参数:
·request-type:发送请求的类型。典型值是 GET 或 POST,也可发送HEAD请求。
·url:要连接的 URL地址。
·asynch:如使用异步连接则为 true,否则为 false。该参数可选,默认为 true。
·username:如果需要身份验证,则可以在此指定用户名。该可选参数没有默认值。
·password:如果需要身份验证,则可以在此指定口令。该可选参数没有默认值。
通常使用前三个参数。即使需要异步连接,也应指定第三个参数为true。这是默认值。
send() 只有一个参数,就是要发送的内容。虽然可以使用 send() 发送数据,但也能通过 URL 本身发送数据。用 URL 发送数据要容易得多。如果需要发送安全信息或 XML,可能要考虑使用 send() 发送内容。如果不需要通过 send() 传递数据,则只要传递 null 作为该方法的参数即可。
function getCustomerInfo() {
var phone = document.getElementById("phone").value;
var url = "/cgi-local/lookupCustomer.php?phone=" + escape(phone);
request.open("GET", url, true);
request.send(null);
}
回调方法:
XMLHttpRequest对象的一个简单属性 onreadystatechange。
function getCustomerInfo() {
var phone = document.getElementById("phone").value;
var url = "/cgi-local/lookupCustomer.php?phone=" + escape(phone);
request.open("GET", url, true);
request.onreadystatechange = updatePage; //回调方法
request.send(null);
}
根据浏览器的不同,在表单停止弹出警告之前会看到两次、三次甚至四次警告。这是还没有考虑 HTTP 就绪状态,这是请求/响应循环中的一个重要部分。
HTTP就绪状态:
HTTP就绪状态表示请求的状态或情形。它用于确定该请求是否已经开始、是否得到了响应或者请求/响应模型是否已经完成。它还可以帮助确定读取服务器提供的响应文本或数据是否安全。
request.readyState:
0:请求没有发出(在调用 open() 之前)。
1:请求已经建立但还没有发出(调用 send() 之前)。
2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
4:响应已完成,可以访问服务器响应并使用它。
HTTP 状态码:
request.status = 200,404等服务器响应状态码。
读取响应文本:
request.responseText
参考:
http://www.cnblogs.com/meil/archive/2006/09/21/510794.html
分享到:
相关推荐
Ajax核心对象XMLHTTPRequest详细参数及例子
在使用AJAX技术进行前后端数据交互时,经常会出现中文字符编码的问题,尤其是在使用`XMLHttpRequest`对象发送请求的过程中。例如,在Internet Explorer(IE)浏览器与Mozilla Firefox浏览器之间存在不同的行为表现,...
本实例将通过XMLHttpRequest对象来展示Ajax的基础用法,非常适合初学者学习。 首先,要理解XMLHttpRequest对象是Ajax的核心,它负责在后台与服务器进行通信。在JavaScript中,我们可以通过以下方式创建一个...
在提供的链接中(由于实际链接不可用,这里无法查看),可能包含了一个使用XMLHttpRequest进行信息验证的完整示例。通过阅读和理解这个示例,你可以更好地掌握这种技术,并将其应用于自己的项目中。 总的来说,...
ajax工具,XMLHttpRequest调试工具
在VS2008中,开发者可以直接使用AJAX控件,它们封装了XMLHttpRequest对象的复杂操作,简化了开发流程。例如,UpdatePanel控件背后的实现就是基于XMLHttpRequest对象的,它自动处理了请求和响应的处理逻辑,使得...
AJAX的主要工作原理是利用`XMLHttpRequest`对象来向服务器发送异步请求,并从服务器获取数据,随后使用JavaScript操作DOM来更新页面中的内容。这种方式使得用户可以在不离开当前页面的情况下与服务器进行交互,大大...
这个中文参考手册旨在深入解析XMLHttpRequest对象及其在Ajax中的应用。 1. **XMLHttpRequest对象创建** 01. 创建XMLHttpRequest对象:在JavaScript中,可以通过`new XMLHttpRequest()`来创建一个XMLHttpRequest...
**Ajax中的XmlHttpRequest详解** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。核心在于使用JavaScript与服务器进行异步数据交换,并且利用浏览器内置...
在开发过程中,开发者可能会使用各种工具来辅助Ajax开发,例如浏览器的开发者工具,它们可以帮助调试Ajax请求,查看请求头、响应数据和网络活动。除此之外,还有一些IDE和代码编辑器提供了集成的Ajax调试功能,使得...
AJAX入门之XMLHttpRequest慨述 在使用XMLHttpRequest对象发送请求...由于存在这些差别,JavaScript代码中必须包含有关的逻辑,从而使用ActiveX技术或者使用本地JavaScript对象技术来创建XMLHttpRequest的一个实例。
在这篇深度剖析中,我们将揭开XMLHttpRequest对象的神秘面纱,探讨其工作原理、常用方法和实际应用。 XMLHttpRequest对象是Ajax技术的基础,它允许JavaScript在页面不刷新的情况下与服务器进行通信。创建一个...
XMLHttpRequest(XHR)是Web开发中的一个关键技术,它是实现Asynchronous JavaScript and XML(Ajax)的核心组件。Ajax是一种在不刷新整个网页的情况下,能够更新部分网页的技术,极大地提升了用户体验。本手册将...
XMLHttpRequest(简称XHR)是JavaScript中的一个对象,用于在不刷新整个页面的情况下,与服务器进行异步数据交换,这是实现Ajax(Asynchronous JavaScript and XML)技术的基础。在本示例中,我们将深入探讨...
在AjaxXMLHttpRequest_Demo02.zip中,我们可能会看到以下几个关键组成部分: 1. **HTML文件**:通常命名为index.html,它是用户界面的基础,包含用户交互的元素,如按钮、输入框等。当用户触发某个事件(如点击按钮...
XMLHttpRequest对象是Ajax技术的核心,它是现代Web应用中用于实现客户端与服务器间异步数据交换的关键组件。在不刷新整个页面的情况下,XMLHttpRequest允许开发者通过JavaScript动态更新网页内容,极大地提升了用户...
这篇博客将深入探讨如何使用XMLHttpRequest进行AJAX请求。 首先,创建一个XMLHttpRequest实例是开始AJAX请求的第一步。在JavaScript中,你可以通过`new XMLHttpRequest()`来创建: ```javascript var xhr = new ...