仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 398|回复: 7
打印 上一主题 下一主题

[学习教程] ASP网页设计利用XMLHttpRequest与DOM工具

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:21:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.dom|request|xml|xmlhttprequest|工具XMLHttpRequest工具

在利用XMLHttpRequest工具发送哀求和处置呼应之前,必需先用JavaScript创立一个XMLHttpRequest工具。因为XMLHttpRequest不是一个W3C尺度,以是能够接纳多种办法利用JavaScript来创立XMLHttpRequest的实例。IE把XMLHttpRequest完成一个ActiveX工具,其他扫瞄器(如Firefox、Safari和Opera)把他完成为一个当地JavaScript工具。因为存在这些不同,JavaScript代码中必需包括有关的逻辑,从而利用ActiveX手艺大概利用当地JavaScript工具手艺来创立XMLHttpRequest的一个事例。

假如扫瞄器撑持ActiveX工具,就能够利用ActiveX来创立XMLHttpRequest工具。不然,就要利用当地JavaScript工具手艺来创立。代码清单2-1展现了编写跨扫瞄器的JavaScript代码来创立XMLHttpRequest工具实例。

代码清单2-1创立XMLHttpRequest工具的一个实例
varxmlHttp;
functioncreateXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}elseif(window.XMLHttpRequest){
xmlHttp=newXMLHttpRequest();
}
}
能够看到,创立XMLHttpRequest工具相称简单。起首,要创立一个全局感化域变量xmlHttp来保留这个工具的援用。createXMLHttpRequest办法完成创立XMLHttpRequest实例的详细事情。这个办法只要复杂的分支逻辑(选择逻辑)来断定假如创立工具。对window.ActiveXObject的挪用会前往一个工具,也大概前往null,if语句会把挪用前往的了局看做是true或false(假如前往工具则为true,前往null则为false),以此唆使扫瞄器是不是撑持ActiveX控件,响应地得知扫瞄器是否是IE。假如断定是,则经由过程实例化ActiveXObject的一个新实例来创立XMLHttpRequest工具,并传进一个串唆使要创立何品种型的ActiveX工具。在这个例子中,为机关函数供应的字符串是Microsoft.XMLHTTP,这申明我们想创立XMLHttpRequest的一个实例。

假如window.ActiveXObject挪用失利(前往null),JavaScript就会转到else语句分支,断定扫瞄器是不是把XMLHttpRequest完成为一个当地JavaScript工具。假如存在window.XMLHttpRequest,就会创立XMLHttpRequest的一个实例。

XMLHttpRequest工具的属性:
onreadystatechange形态改动的事务触发器
readyState工具形态(integer):0=未初始化1=读取中2=已读取3=交互中4=完成
responseText服务器历程前往数据的文本版本
responseXML服务器历程前往数据的兼容DOM的XML文档工具
status服务器前往的形态码,如:404="文件未找到"、200="乐成"
statusText服务器前往的形态文本信息

XMLHttpRequest工具的办法:
abort()中断以后哀求
getAllResponseHeaders()作为字符串前往完全的headers
getResponseHeader("headerLabel")作为字符串前往单个的header标签
open("method","URL"[,asyncFlag[,"userName"[,"password"]]])设置未决的哀求的方针URL,办法,和其他参数
send(content)发送哀求
setRequestHeader("label","value")设置header并和哀求一同发送

办法的具体申明:
voidopen(stringmethod,stringurl,booleanasynch,stringusername,stringpassword):
这个办法会创建对服务器的挪用。这是初始化一个哀求的纯剧本办法,它有两个需要参数,另有3个可选参数。要供应挪用的特定办法(GET、POST或PUT),还要供应所挪用资本的URL。别的还能够传送一个Boolean值,唆使这个挪用是异步的仍是同步的。默许值为true,暗示哀求实质上是异步的。假如这个参数为false,处置就会守候,直到从服务器前往呼应为止。因为异步伐用是利用Ajax的次要上风之一,以是倘使这个参数设置为false,从某种水平上XMLHttpRequest工具的初志不太符合。不外,后面已说过,在某些情形下这个参数设置为false也是有效的,好比在耐久存储页面之前能够先考证用户的输出。最初两个参数不说自明,同意你指定一个特定的用户名和暗码。

voidsend(content):
这个办法详细向服务器收回哀求。假如哀求声明为异步的,这个办法就会当即前往,不然它会守候直到吸收到呼应为止。可选参数能够是DOM工具的实例、输出流、大概串。传进这个办法的内容会作为哀求体的一部分发送。

voidserRequestHeader(stringheader,stringvalue):
这个办法为HTTP哀求中一个指定的首部设置值。他有两个参数,第一个串暗示要设置的首部,第二个串暗示要在首部中安排的值。必要申明,这个办法的内容会作为哀求体的一部分发送。

voidabort():
望文生义,这个办法就是要中断哀求。

stringgetAllResponseHeaders():
这个办法的中心功效对Web使用开辟职员应当很熟习了,它前往一个串,个中包括HTTP哀求的一切呼应首部,首部包含ContentLength、Date和URI。

stringgetResponseHeader(stringheader):
这个办法与getAllResponseHeaders()是对应的,不外它有一个参数暗示你但愿失掉的指定首部值,而且把这个值作为串前往。

DOM工具

文档工具模子是与平台和言语有关的接口,同意程序和剧本静态地会见和更新文档的内容,布局和款式。文档能够进一步处置,处置的了局能够放回到所供应的页面中。假如服务端前往的是XML,利用responseXML便可间接创立DOM来操纵这个文件。
childNodes前往以后元素一切子元素汇合
firstChil前往以后元素的第一个子元素
lastChild前往以后元素的最初一个子元素
nextSibling前往紧跟在以后元素前面的元素(平级)
previousSibling前往紧跟在以后元素之前的元素(平级)
nodeValue指定暗示元素值的读/写属性
parentNode前往元素的父节点

DOM工具的办法:
getElementById(id)(document)猎取有指定独一ID属性值文档中的元素
getElementsByTagName(name)前往以后元素中有指定标志名的子元素的汇合
hasChildNodes()前往一个布尔值,唆使元素是不是有子元素
getAttribute(name)前往元素的属性值,属性由name指定

静态创立内容所用的W3CDOM属性和办法
document.createElement(tagName)文档工具上的createElement办法能够创立由tagName指定的元素。假如以串div作为办法参数,就会天生一个div元素
document.createTextNode(text)文档工具的createTextNode办法会创立一个包括静态文本的节点
element.appendChild(childNode)appendChild办法将指定的节点childNode增添到以后元素的子节点列表
element.getAttribut(name)
element.setAttribut(name,value)猎取和设置元素中name属性的值
element.insertBefore(newNode,targetNode)这个办法将节点newNode作为以后元素的子节点插到targetNode元素后面
element.removeAttribute(name)这个办法从元素中删除属性name
element.removeChild(childNode)从元素中删除子元素childNode
element.replaceChild(newNode,oldNode)将节点oldNode交换为节点newNode
element.hasChildnodes()前往一个布尔值,唆使元素是不是有子元素因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。
飘灵儿 该用户已被删除
沙发
发表于 2015-1-19 09:25:12 | 只看该作者
那么,ASP.Net有哪些改进呢?
柔情似水 该用户已被删除
板凳
发表于 2015-1-27 05:11:10 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
小女巫 该用户已被删除
地板
发表于 2015-2-5 01:33:30 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
海妖 该用户已被删除
5#
发表于 2015-2-11 01:54:16 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
小妖女 该用户已被删除
6#
发表于 2015-3-10 22:53:15 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
爱飞 该用户已被删除
7#
发表于 2015-3-17 15:47:13 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
兰色精灵 该用户已被删除
8#
发表于 2015-3-24 10:18:59 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表