数码资讯
用ajax开发web应用程序的方法
首先,简要介绍 Ajax的异步Javascript和XML的缩写,是最近的一个术语,不意味着你可以通过超文本传输协议向服务器发送一个请求(HTTP)和继续处理另一个数据在等待响应。这意味着,例如,你可以在XML数据库的方式一个服务器端的脚本发送数据检索存储在数据库服务器脚本数据,或简单地加载一个XM
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
首先,简要介绍
Ajax的异步Javascript和XML的缩写,是最近的一个术语,不意味着你可以通过超文本传输协议向服务器发送一个请求(HTTP)和继续处理另一个数据在等待响应。这意味着,例如,你可以在XML数据库的方式一个服务器端的脚本发送数据检索存储在数据库服务器脚本数据,或简单地加载一个XML文件,而不需要在你的网站上刷新此页填写。然而,尽管这项新技术提供了巨大的动力,这也导致了很多的返回按钮问题的辩论。本文将帮助您确定何时在真实世界中使用Ajax是最好的选择。
首先,我想你有简短的Javascript和XML部分的一个基本的了解。虽然你可以请求任何类型的文本文件通过Ajax,我主要集中在XML在这里。我将解释如何在现实世界中使用Ajax和如何评价其价值的一个项目。当你读完这篇文章,你会了解Ajax是什么,在什么情况下,为什么,以及如何使用这个技术,你将学习如何创建对象,提出请求,并定制响应的同时为用户提供一个直观的体验。
我已经创建了一个适合本文的示例项目(您可以下载源代码)。这个示例实现一个简单的请求,它加载一个包含页面内容的XML文件,并分析数据以在HTML页面中显示它。
两。常规属性和方法
表1和2提供了属性和方法的概述——它们被浏览器支持,如Windows Internet Explorer 5、Mozilla、Netscape 7、Safari 1.2和Opera。
表1属性
属性描述
onreadystatechange事件处理器激活时,请求对象的变化。
readyState返回的指示对象的当前状态值。
responseText来自服务器的响应字符串版本。
responseXML之外是从服务器的响应的DOM兼容的文档对象。
状态是服务器响应的状态代码。
返回一个字符串,StatusText形成状态消息。
表2方法
方法的描述
终止当前HTTP请求。
getallresponseheaders()检索所有HTTP头的值。
getresponseheader(headerlabel )检索从响应体的HTTP标头的值。
打开()方法
发送(内容)向服务器发送HTTP请求并接收响应。
setrequestheader(标签
三。它从哪里开始
首先,您需要创建一个XML文件,我们稍后会请求它,并将其作为页面内容进行分析。
接下来,创建HTML文件,发送请求,请求页时使用OnLoad方法在页面主体加载。接下来,该文件需要一个ID的div标签,我们可以找到它,当我们准备要显示的内容。当你做了这一切,对你的网页正文如下:
身体onload =makerequest('xml /内容。XML ');>
div
<主体>
四。创建请求对象
为了创建一个请求对象,你必须检查浏览器是否使用XMLHttpRequest对象或ActiveX对象。两物体之间的主要区别是他们的浏览器使用。Windows IE 5以上使用ActiveX对象;Mozilla、Netscape 7,Opera和Safari 1.2和以上的版本,使用XMLHttpRequest对象的另一个区别是你创造的。对象:歌剧、Mozilla、Netscape和Safari浏览器允许你简单地调用对象的构造函数,但Windows IE需要传递的对象的名称的ActiveX控件的构造函数。下面是如何创建一个代码来确定要使用的对象以及如何创建它:
如果(窗口。XMLHttpRequest)
{请求=新的XMLHttpRequest();}
如果(窗口。ActiveX对象)
{请求=新的ActiveX对象(MSXML2. XMLHTTP );}
五。提出请求
现在你已经创建了你的请求对象,你可以发送一个请求给服务器,创建一个引用到事件处理程序听取onreadystatechange事件。然后,事件处理器方法将状态变化时的反应。一旦我们完成的请求,我们开始创建这个方法。开放的连接GET或POST URL -这里是一个xml,并设置一个布尔值的定义是否要进行异步调用。
现在是时候请求它了。在这个例子中,我使用null,因为我们使用了获取;为了使用POST,您需要使用下面的方法发送一个查询字符串:
request.onreadystatechange =响应;
Request.open(。URL,true);
Request.send(空);
六。自定义加载和错误处理消息
你创造了onreadystatechange方法的事件处理程序的地方,集中荷载和集中处理错误。是时候给予反馈,考虑用户,与他们互动的内容的状态。在这种情况下,我提供所有加载状态码的反馈,并提供最常见的错误处理状态代码的一些基本的反馈。为了显示请求对象的当前状态,readyState属性包括在下表中显示的值。
值描述
0初始化对象未初始化的数据。
在1加载中,对象正在加载数据。
2加载结束时,对象完成其数据的加载。
3可以交互,用户可以与对象交互,尽管它还没有加载。
4完成,对象已完全初始化。
关于W3C中的HTTP状态代码有一长串的定义:
200:请求成功。
404个:服务器找不到任何与请求文件匹配的文件。
最后,我检查任何其他状态代码——它们会生成一个错误并提供一般错误消息。下面是一个代码示例-您可以使用它来处理这些情况。注意,我定位在HTML文件中创建的div ID并加载和/或错误信息。innerHTML设置HTML:开始和结束标记之间的div对象。
如果(obj.readystate = 0)
{ document.getelementbyid('copy).innerHTML =发送请求…;}
如果(obj.readystate = 1)
{ document.getelementbyid('copy).innerHTML =加载响应…;}
如果(obj.readystate = 2)
{ document.getelementbyid('copy).innerHTML =响应加载…;}
如果(obj.readystate = 3)
{ document.getelementbyid('copy).innerHTML =响应准备…;}
如果(obj.readystate = = 4){
如果(obj.status = = 200){ return true;}
如果(obj.status = 404)
{
添加自定义消息或将用户重定向到另一个页面
document.getelementbyid('copy).innerHTML =文件未找到;
}
其他的
{ document.getelementbyid('copy).innerHTML =有问题检索XML。;}
}
当状态代码为200时,这意味着请求成功。
七。响应分析
当你准备从请求对象分析响应,真正的工作开始了。现在你可以开始你的工作。只是,在开发过程中,出于测试目的,responseText和responseXML之外的属性可以用来显示从响应的原始数据。为了访问XML响应节点,先用你的请求对象定位对该XML属性来检索(你可能已经猜到了)从响应的XML文档元素}。找到它检索参考的XML响应的根节点。
var response = request.responsexml.documentelement;
现在你有一个参考的根节点响应,你可以使用getElementsByTagName()来获取子节点与节点名称。下面用它们的头来定位子节点:
response.getelementsbytagname('header '){ 0 }。firstchild.data;
使用firstchild.data允许您访问元素中的文本:
response.getelementsbytagname('header '){ 0 }。firstchild.data;
下面是如何创建这些代码的完整示例。
var response = request.responsexml.documentelement;
VaR头= response.getelementsbytagname('header '){ 0 }。firstchild.data;
document.getelementbyid('copy).innerHTML =头;
八。需求分析
现在你知道如何使用Ajax的基础知识,下一步是决定是否使用它在一个项目中,最重要的是要记住的是,你不能使用返回按钮,当你还没有刷新页面,你可以专注于你的项目第一小部分可以从这种类型的交互使用效益。例如,你可以创建一个表单查询脚本每次用户输入一个输入字段或一个字母的实时验证。你可以创建一个拖放页面--当它发布一个项目,它可以发送数据一个脚本并保存页面的状态到一个数据库。毫无疑问,使用Ajax的原因是存在的;它将给开发者和用户带来好处,这取决于关于具体条件和实施的DS。
这是解决返回按钮,问题的办法等,用眉目传情Gmail,它现在可以提供撤销功能为您的操作,而无需刷新页面。更多的创意实例将出现后,它将为开发者提供独特的和实时的用户体验带来更多的利益。
九。结论
虽然AJAX允许我们建立新的、改进的方法与网页交互,但作为开发商,我们需要记住的是,产品不考虑技术;他们关心的是用户和他们如何与用户交互。没有用户组,项目的建立是无用的。基于这个标准,我们可以评估应该使用什么样的技术,以及何时使用它们来创建相应的用户有用的应用。
Ajax的异步Javascript和XML的缩写,是最近的一个术语,不意味着你可以通过超文本传输协议向服务器发送一个请求(HTTP)和继续处理另一个数据在等待响应。这意味着,例如,你可以在XML数据库的方式一个服务器端的脚本发送数据检索存储在数据库服务器脚本数据,或简单地加载一个XML文件,而不需要在你的网站上刷新此页填写。然而,尽管这项新技术提供了巨大的动力,这也导致了很多的返回按钮问题的辩论。本文将帮助您确定何时在真实世界中使用Ajax是最好的选择。
首先,我想你有简短的Javascript和XML部分的一个基本的了解。虽然你可以请求任何类型的文本文件通过Ajax,我主要集中在XML在这里。我将解释如何在现实世界中使用Ajax和如何评价其价值的一个项目。当你读完这篇文章,你会了解Ajax是什么,在什么情况下,为什么,以及如何使用这个技术,你将学习如何创建对象,提出请求,并定制响应的同时为用户提供一个直观的体验。
我已经创建了一个适合本文的示例项目(您可以下载源代码)。这个示例实现一个简单的请求,它加载一个包含页面内容的XML文件,并分析数据以在HTML页面中显示它。
两。常规属性和方法
表1和2提供了属性和方法的概述——它们被浏览器支持,如Windows Internet Explorer 5、Mozilla、Netscape 7、Safari 1.2和Opera。
表1属性
属性描述
onreadystatechange事件处理器激活时,请求对象的变化。
readyState返回的指示对象的当前状态值。
responseText来自服务器的响应字符串版本。
responseXML之外是从服务器的响应的DOM兼容的文档对象。
状态是服务器响应的状态代码。
返回一个字符串,StatusText形成状态消息。
表2方法
方法的描述
终止当前HTTP请求。
getallresponseheaders()检索所有HTTP头的值。
getresponseheader(headerlabel )检索从响应体的HTTP标头的值。
打开()方法
发送(内容)向服务器发送HTTP请求并接收响应。
setrequestheader(标签
三。它从哪里开始
首先,您需要创建一个XML文件,我们稍后会请求它,并将其作为页面内容进行分析。
接下来,创建HTML文件,发送请求,请求页时使用OnLoad方法在页面主体加载。接下来,该文件需要一个ID的div标签,我们可以找到它,当我们准备要显示的内容。当你做了这一切,对你的网页正文如下:
身体onload =makerequest('xml /内容。XML ');>
div
<主体>
四。创建请求对象
为了创建一个请求对象,你必须检查浏览器是否使用XMLHttpRequest对象或ActiveX对象。两物体之间的主要区别是他们的浏览器使用。Windows IE 5以上使用ActiveX对象;Mozilla、Netscape 7,Opera和Safari 1.2和以上的版本,使用XMLHttpRequest对象的另一个区别是你创造的。对象:歌剧、Mozilla、Netscape和Safari浏览器允许你简单地调用对象的构造函数,但Windows IE需要传递的对象的名称的ActiveX控件的构造函数。下面是如何创建一个代码来确定要使用的对象以及如何创建它:
如果(窗口。XMLHttpRequest)
{请求=新的XMLHttpRequest();}
如果(窗口。ActiveX对象)
{请求=新的ActiveX对象(MSXML2. XMLHTTP );}
五。提出请求
现在你已经创建了你的请求对象,你可以发送一个请求给服务器,创建一个引用到事件处理程序听取onreadystatechange事件。然后,事件处理器方法将状态变化时的反应。一旦我们完成的请求,我们开始创建这个方法。开放的连接GET或POST URL -这里是一个xml,并设置一个布尔值的定义是否要进行异步调用。
现在是时候请求它了。在这个例子中,我使用null,因为我们使用了获取;为了使用POST,您需要使用下面的方法发送一个查询字符串:
request.onreadystatechange =响应;
Request.open(。URL,true);
Request.send(空);
六。自定义加载和错误处理消息
你创造了onreadystatechange方法的事件处理程序的地方,集中荷载和集中处理错误。是时候给予反馈,考虑用户,与他们互动的内容的状态。在这种情况下,我提供所有加载状态码的反馈,并提供最常见的错误处理状态代码的一些基本的反馈。为了显示请求对象的当前状态,readyState属性包括在下表中显示的值。
值描述
0初始化对象未初始化的数据。
在1加载中,对象正在加载数据。
2加载结束时,对象完成其数据的加载。
3可以交互,用户可以与对象交互,尽管它还没有加载。
4完成,对象已完全初始化。
关于W3C中的HTTP状态代码有一长串的定义:
200:请求成功。
404个:服务器找不到任何与请求文件匹配的文件。
最后,我检查任何其他状态代码——它们会生成一个错误并提供一般错误消息。下面是一个代码示例-您可以使用它来处理这些情况。注意,我定位在HTML文件中创建的div ID并加载和/或错误信息。innerHTML设置HTML:开始和结束标记之间的div对象。
如果(obj.readystate = 0)
{ document.getelementbyid('copy).innerHTML =发送请求…;}
如果(obj.readystate = 1)
{ document.getelementbyid('copy).innerHTML =加载响应…;}
如果(obj.readystate = 2)
{ document.getelementbyid('copy).innerHTML =响应加载…;}
如果(obj.readystate = 3)
{ document.getelementbyid('copy).innerHTML =响应准备…;}
如果(obj.readystate = = 4){
如果(obj.status = = 200){ return true;}
如果(obj.status = 404)
{
添加自定义消息或将用户重定向到另一个页面
document.getelementbyid('copy).innerHTML =文件未找到;
}
其他的
{ document.getelementbyid('copy).innerHTML =有问题检索XML。;}
}
当状态代码为200时,这意味着请求成功。
七。响应分析
当你准备从请求对象分析响应,真正的工作开始了。现在你可以开始你的工作。只是,在开发过程中,出于测试目的,responseText和responseXML之外的属性可以用来显示从响应的原始数据。为了访问XML响应节点,先用你的请求对象定位对该XML属性来检索(你可能已经猜到了)从响应的XML文档元素}。找到它检索参考的XML响应的根节点。
var response = request.responsexml.documentelement;
现在你有一个参考的根节点响应,你可以使用getElementsByTagName()来获取子节点与节点名称。下面用它们的头来定位子节点:
response.getelementsbytagname('header '){ 0 }。firstchild.data;
使用firstchild.data允许您访问元素中的文本:
response.getelementsbytagname('header '){ 0 }。firstchild.data;
下面是如何创建这些代码的完整示例。
var response = request.responsexml.documentelement;
VaR头= response.getelementsbytagname('header '){ 0 }。firstchild.data;
document.getelementbyid('copy).innerHTML =头;
八。需求分析
现在你知道如何使用Ajax的基础知识,下一步是决定是否使用它在一个项目中,最重要的是要记住的是,你不能使用返回按钮,当你还没有刷新页面,你可以专注于你的项目第一小部分可以从这种类型的交互使用效益。例如,你可以创建一个表单查询脚本每次用户输入一个输入字段或一个字母的实时验证。你可以创建一个拖放页面--当它发布一个项目,它可以发送数据一个脚本并保存页面的状态到一个数据库。毫无疑问,使用Ajax的原因是存在的;它将给开发者和用户带来好处,这取决于关于具体条件和实施的DS。
这是解决返回按钮,问题的办法等,用眉目传情Gmail,它现在可以提供撤销功能为您的操作,而无需刷新页面。更多的创意实例将出现后,它将为开发者提供独特的和实时的用户体验带来更多的利益。
九。结论
虽然AJAX允许我们建立新的、改进的方法与网页交互,但作为开发商,我们需要记住的是,产品不考虑技术;他们关心的是用户和他们如何与用户交互。没有用户组,项目的建立是无用的。基于这个标准,我们可以评估应该使用什么样的技术,以及何时使用它们来创建相应的用户有用的应用。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。