AJAX-XMLHttpRequest对象
AJAX--XMLHttpRequest对象
强烈推荐<疯狂ajax讲义>
XMLHttpRequest的基本方法:
XMLHttpRequest的属性
每当readystate的值改变的时候,onreadystatechange都会被触发,因此需要判断状态再执行
少用GET请求方式,多用POST,POST的优点:
1.不容易出现乱码
2.请求返回的数据量的容量大
3.与GET方式相比,参数简单
AJAX使用JSON数据格式代码举例:
服务器:
客户端:
用JavaScript内置的eval()函数解析JSON数据可能存在一些安全问题,也可以使用一些更安全的库(比如prototype)
AJAX应用存在的问题
1. XmlHttpRequest的跨浏览器兼容问题
2.安全性问题:
-
javaScript本身的安全问题
- 数据在网络传输的安全问题,解决方法:使用HTTPS请求
- 客户端调用远程服务的安全
XmlHttpRequest存在的问题:
- 只支持文本数据的传送,无法用来读取和上传二进制文件。
- 传送和接收数据时,没有进度信息,只能提示有没有完成。
- 受到"同域限制",只能向同一域名的服务器请求数据。
XmlHttpRequest level 2的新特性:
- 可以设置HTTP请求的时限。
- 可以使用FormData对象管理表单数据。
- 可以上传文件。
- 可以请求不同域名下的数据(跨域请求)。
- 可以获取服务器端的二进制数据。
- 可以获得数据传输的进度信息。
HTTPS传输协议:建立在安全Socket通信上的HTTP协议,这种验证需要使用计算机资源,对服务器来说是一个不小的开销