ajax

ajax是什么呢?他就是异步的javascript,用js写个完整的ajax代码并不是很多,它是能够在不刷新页面的情况下,让网页局部数据更新的数据

1. 创建对象

var xhr = new XMLHttpRequest();

2. 发送请求

第一个参数:get和post两种方式
第二个参数:请求的文件路径
第三个参数:true 异步; false 同步

xhr.open("GET","hot.json",true);

3.等待响应

xhr.readyState 有以下值:
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪

1. responseText 字符串格式的数据(json)
2.JSON.parse(request.responseText) json格式的数据
3. eval函数 JSON的字符串解析成JSON数据格式
注意:eval格式:eval("("+this.responseText+")") 需要拼接"()";
由于json数据的格式是”{}”,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式

每次网络请求的状态都会调用这个方法。
xhr.onreadystatechange = function(){
        console.log(this.readyState);
    }
// onload请求完成后执行的函数
xhr.onload = function(){
        console.log(this.responseText);
        console.log(JSON.parse(this.responseText));
        console.log(eval("("+this.responseText+")"));
    }

最后:ajax请求数据是不支持跨域的,他请求的地址必须与自身页面的协议、主机名、端口号都相同,才能请求成功,所以要是想跨域请求可以使用iframe,script标签等其他的方式来实现

你可能感兴趣的:(ajax)