资源描述:
《前端工程师-前端工程师必知必会》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、上海腾一研发部内部技术文档前端工程师对这些东西要"想都不用想就知道么前端工程师对这些东西要想都不用想"就知道么想都不用想*XMLHttpRequest这是什么,怎样完整地执行一次GET请求,怎样检测错误.XMLHttpRequest对象还没有标准化,但是W3C已经开始了标准化的工作,本手册介绍的内容都是基于标准化的工作草案.http://www.w3.org/TR/XMLHttpRequest/http://www.blueidea.com/tech/web/2008/5329.asphttp://www.hfwww.cn/Html/?
2、7593_1.html1,XMLHTTPRequest对象什么是?,对象什么是?最通用的定义为:XmlHttp是一套可以在Javascript,VbScript,Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API.XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面.(这个功能正是AJAX的一大特点之一:))来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议.客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML
3、文档对象模型Microsoft?XMLDocumentObjectModel(DOM)处理回应.这里说些题外话,其实这个东西很早就出现了,只是以前浏览器的支持不够,只有IE中才支持,所以大多数的WEB程序员都没有怎么用他,但是现在情况发生了很大地改变,Mozilla和Safari把它采用为事实上的标准,主流的浏览器都开始支持XMLHTTPRequest对象了.但是这里需要重点说明的是XMLHTTPRequest目前还不是一个W3C的标准,所以在不同的浏览器上表现也稍有些区别.2.使用XMLHTTPRequest使用步骤1–"请!"---
4、如何发送一个http请求请为了用javascript向服务器发送一个http请求,需要一个具备这种功能的类实例.这样的类首先由internetexplorer以activex对象引入,被称为xmlhttp.后来mozilla,safari和其他浏览器纷纷仿效,提供了xmlhttprequest类,它支持微软的activex对象所提供的方法和属性.因此,为了创建一个跨浏览器的这样的类实例(对象),可以应用如下代码:2082591.doc(2/13)上海腾一研发部内部技术文档Js代码1.2.3.4.5.}if(window.xmlhttpr
5、equest){//mozilla,safari,...http_request=newxmlhttprequest();}elseif(window.activexobject){//iehttp_request=newactivexobject("microsoft.xmlhttp");(上例对代码做了一定简化,这是为了解释如何创建xmlhttp类实例.实际的代码实例可参阅本篇步骤3.)如果服务器的响应没有xmlmime-typeheader,某些mozilla浏览器可能无法正常工作.为了解决这个问题,如果服务器响应的header不
6、是text/xml,可以调用其它方法修改该header.Js代码1.2.http_request=newxmlhttprequest();http_request.overridemimetype('text/xml');接下来要决定当收到服务器的响应后,需要做什么.这需要告诉http请求对象用哪一个javascript函数处理这个响应.可以将对象的onreadystatechange属性设置为要使用的javascript的函数名,如下所示:Js代码1.http_request.onreadystatechange=nameofthef
7、unction;注意:在函数名后没有括号,也无需传递参数.另外还有一种方法,可以在扉页(fly)中定义函数及其对响应要采取的行为,如下所示:Js代码1.2.3.};http_request.onreadystatechange=function(){//dothething在定义了如何处理响应后,就要发送请求了.可以调用http请求类的open()和send()方法,如下所示:Js代码1.2.http_request.open('get','http://www.example.org/some.file',true);http_req
8、uest.send(null);2082591.doc(3/13)上海腾一研发部内部技术文档open()的第一个参数是http请求方式–get,post,head或任何服务器所支持的您想调用的方式.按照ht