什么是Ajax
无刷新数据读取
用户注册,在线聊天
异步,同步
(只能重复服务器上读取东西)
ajax 能且仅能从服务器读取文件,所有东西都是字符串
loacalhost/aaa.txt
访问本地路径
eval的用法
<script type="text/javascript">
// var str='5-4*8-5';
// alert(eval(str));//可以将字符串里的值就算出
// var str='[12,15,13]';//引号里面的数组不能当数组用只是一个字符串
// var arr=eval(str);//将字符变为数组
// alert(arr[0]);
// var str='alert("abc");';
// eval(str);//无法直接用的变为可以用的
</script>
动态数据:请求(json)
读取服务器上的一个文件,文件里放上一个文件
在这里插入代码片
ajax原理
HTTP请求
get提交方式是放在URL网址里提交 ,安全性低,容量低(用于获取数据)便于分享 有缓存
post提交方式不是放在URL中提交 安全性一般,容量几乎无限(用于上传)不会缓存
如何写一个Ajax库
1.创建Ajax对像
ActiveXObject('Microsoft.XMLHTTP')//IE6Windows自带的
XMLHttpRequest()
2.链接服务器
open(传输方法,文件名,异/同步传输)
3.发送请求
send()
4.接收请求
当你用一个不存在的变量的时候出错
当你用一个不存在的属性的时候是:undefined;
同步:事一件件来
异步:多件事一块干
请求监控状态
onreadystatechange事件
OnReadyStateChange事件
readyState属性:请求状态
0.(未初始化)还没有调用opean()方法;
1.(载入)一调用send()方法,正在发送请求;
2.(载入已完成)send()方法完成,已收到全部相应内容;
3.(解析)正在解析响应内容;
4.(完成)响应内容解析完成,可以在客户端调用了。(只是完成并不代表成功)
status属性;请求结果;如果status=200代表成功
status判断是否成功
starus==200;//成功
responseText:取回服务器返回的东西
在这里插入代码片