Ajax对象的成员
属性:
responseText: 以字符串形式接收服务端返回的信息
responseXML 获得XML形式的响应数据的信息
readyState:
0:请求未初始化,刚创建AJAX对象
1:服务器连接已建立,已经调用open方法
2:请求已接收,已经调用send方法
3:请求处理中,已经部分数据
4:请求完成,数据返回完整
Status:
200:”OK”
404:未找到页面
当 readyState 等于 4 且状态为 200 时,表示响应已就绪:
Onreadystatechange:事件,当ajax状态readyState发生变化的时候呀要触发执行 最后感知四种状态
为了获得较多的状态,最好在创建好对象后就设置
最多可以感知1/2/3/4四种状态
方法:
opend(‘请求方式:get/post’,’请求地址’) 创建新的http请求
Send(null)
Send(给服务器传递信息)
方法:
opend(‘请求方式:get/post’,’请求地址’) 创建新的http请求
Send(null)
Send(给服务器传递信息)
例题:
Post与 get 两者的不同
1、给服务器传递数据量
Get 方式的大小是受限制于浏览器,大部分浏览器是2K的限制
每个浏览器的限制不一样,谷歌就是8k
上述请求通过get方式传递了9个字节的信息
1024字节=1K
Post原则没有限制的,php.ini对其限制为8M
2、安全方面,post传递数据较安全
3、传递数据的形式不一样
Get方式在url地址后边以请求字符串形式传递参数
红色部分就是请求字符串,就是一些’名-值’ 对 ,中间使用&符号连接
Post方式是把form表单的数据请求出来是以xml形式传递给服务器
对特殊信息的处理
在浏览器里通过get参数传递一些特殊符号信息会被误解混淆,例如 & = 等。
为了避免特殊符号被误解产生歧义,需要对其进行编码处理
同时如果传递get参数中文信息,也需要编码处理
1、在php 里可以函数urlencode()/urldecode()对特殊符号进行编码、反编码处理(url_encode()可以把中文转变为浏览器可以识别的信息,编码后的信息为%号后接两个十六进制数)
2、在javascript里面可以通过encodeURIComponent()对特殊符号及中文等信息进行编码。编码后的信息可以被正常接收使用,无需反编码。
Ajax之post请求需要注意的四个地方;
1、给服务器传递数据需要调用send(请求字符串数据)方法
2、调用方法setRequesHeader()把传递的数据组织为xml格式(模仿form表单传递数据)
3、传递的中文信息无需编码,特殊符号像 & = 等还需要编码
4、该方式请求的同时也可以传递get参数信息,同样使用$_GET接收该信息;
Post方式请求需要设置header头协议,以便把数据组织为xml形式:
Post方式传递数据是模拟form表单传递数据
Form表单的post格式数据是通过xml形式传递给服务器的
以下setRequestHeader()方法必须要在open()方法后调用
setRequestHeader(“content-type”,”application/x-www-form-urlencoded”)
Ajax对xml信息的接收和处理
Ajax负责请求xml和接收xml信息,dom负责处理xml信息dom;
Php里边,dom是php与xml(html)之间的沟通桥梁
Javascript里边,dom是javascript与html(xml)之间沟通桥梁
Xml需要从服务器端返回到客服端被javascript处理
Ajax:负责请求xml回来
Dom(javascript):负责处理xml信息
Ajax+javascript实现对xml的接收处理,可以方便我们后期通过一个静态网站(html+css+javascript)实现对各个xml接口数据的处理
格式:
输出其中一个成员方法:getElementByTagName
Document对象 和 普通元素对象都可以调用getElementByTagName
AJAX PHP 实例实现的效果
实例:
以下是test.php文件
以上就是个人整理出来的AJAX基础,供大家参考和学习。
领取专属 10元无门槛券
私享最新 技术干货