Blogger Information
Blog 49
fans 2
comment 1
visits 22198
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
07-16作业:Ajax的使用GET和POST
子傅
Original
727 people have browsed it

鉴于,今日课程未讲交互,所以本次作业以自我理解和如何应用AJAX的过程作为主要内容,涉及AJAX两种不同方式的处理及

使用过程。

Ajxa是一种创建快速动态网页数据交互的技术。

一、基本应用

【XMLHttpRequest】 对象是AJAX实现的基础。用于在后台与服务器交换数据。创建XMLHttpRequest对象实例的方法和普通对象实例化的方法一样,如:var  xhr = new XMLHttpRequest( );

XMLHttpRequest对象包括两个方法完成数据传输,

open( )方法:obj.open(method ,url ,async )  obj.open(“请求类型","服务器受理文件位置","true(异步) | false(同步)")

send( )方法:obj.send(string)  obj,send("将请求发送到服务器") string仅用于POST请求。

open( )方法中的请求类型分为GET类型 和POST类型,GET更简单也更快,并且大部分情况下都能用,但是不适合大量数据发送

在发送大量数据时或发送包含未知字符的用户输入时,使用POST更稳定。

一般情况下,使用POST类型传输数据时,需要在open( )方法之后,再使用setRequestHeader( header,value )方法,设置响应的表头信息,用途是将待传输的数据,包装成表单数据传输。header: 规定头的名称   value:头信息的值

setRequestHeader("Content-type","application/x-www-form-urlencode") 

二、AJAX服务端的响应

服务端响应返回的数据,一般使用两个属性来表示,1、responseText  属性   或  2、responseXML 属性

1、responseText  属性 获得字符串形式的响应数据。

2、responseXML 属性,获得XML形式的响应数据。

鉴于当前大多以JSON传输数据,所以基本以responseText,注意传输数据和接收数据时将数据转换成字符串。

三、AJAX的监听事件 onreadystatechange事件 

当AJAX请求被发送到服务器时,客户端需针对一些服务器的返回状态进行响应任务执行。即当服务器响应 readyState状态改变

时,会触发onreadystatechange事件。readyState的状态有5中,目前仅需关注重要的就绪状态 readyState =4 即可

影响onreadystatechange触发事件的状态常见的有两类1. readyState      2.status 状态 

四、AJAX的使用步骤

1> 建立               var  xhr = new XMLHttpRequest()

2> 状态监听         xhr.onreadystatechange =function(){

                            if(readyState ==4 && status==200){

                                     var res = xhr.responseText  //注意一般值为json字符串,需要通过json.parse()转成JS对象

                                      }

                            }

3> 设置方式        xhr.open("GET",url,true)或者 xhr.open("POST",url,true)

当类型为POST时,要设置文件头属性, setRequestHeader("content-type","application/x-www-from-urlencoded")                                          

4> 发送             xhr.send()



Correction status:qualified

Teacher's comments:总结的相当精辟, 我已复制到我的课件中了, 以后可以推荐给你的学弟学妹们
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post