对Ajax的理解

来源:互联网 发布:网络被运营商劫持举报 编辑:程序博客网 时间:2024/06/07 19:58

ajax实质是异步的javascript和xml,即异步请求更新技术(返回的数据字符编码是utf-8)。

ajax的对象就是xmlHttpRequest,在后台与服务器交换数据,可以在不重新加载页面情况下对页面某部分进行刷新(下拉菜单,表单,提示词等)

xmlHttpRequest对象利用send()和open()方法与服务器进行交互的
open(method,url,async)
method—-请求的方式:get或者post
url—-文件在服务器的位置(地址)
async—-true既是异步方式,false是同步方式

get方式与post方式的差异:            get----传输的数据量小,受限于url长度;get请求的数据会被浏览器缓存下来,容易被获取,安全性差;处理效率高            post----传输的数据量大,post的信息作为HTTP请求的内容;post请求的数据不会被缓存,安全性高;post请求需要使用setRequestHeader()添加Http头部若符合下列任一情况,则用POST方法:* 请求的结果有持续性的副作用,例如,数据库内添加新的数据行。* 若使用GET方法,则表单上收集的数据可能让URL过长。* 要传送的数据不是采用7位的ASCII编码。若符合下列任一情况,则用GET方法:* 请求是为了查找资源,HTML表单数据仅用来帮助搜索。* 请求结果无持续性的副作用。* 收集的数据及HTML表单内的输入字段名称的总长不超过1024个字符。send(string)         string仅用于post请求,设置setRequestHeader()         例:   `xmlhttp.open("POST","xxxx.json",true)                 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");                 xmlhttp.send("fnane=Bill&lname=Gates");`

属性
readyState:
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
state:
200:”ok”
404:”not find”

responseText:获得字符串形式的响应数据。
responseXML:获得 XML 形式的响应数据。

onreadystatechange:存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。

原创粉丝点击