1)Ajax 概述
// [?e??d??ks] ,中文音译:阿贾克斯 // 它是浏览器提供的一套方法,可以实现页面无刷新更新数据 提高用户体验
2)Ajax 应用场景
//1 页面上拉加载更多数据 //2 列表数据无刷新分页
//3 表达离开焦点数据验证
//4 搜索框提示文字下拉列表
3)Ajax 运行环境
// 需要运行在网站环境中才能生效 // 用Node 或 PHP 构建的服务器环境 // 直接双击HTML文件是不管用的
4)Ajax 运行原理
// Ajax相当于是 浏览器发送请求和接收响应的代理人
// 在不影响用户浏览页面的情况下 局部更新页面数据
// 从而提高用户体验
二 Ajax的实现步骤
1)创建Ajax对象
var xhr = new XMLHttpRequest();
XMLHttpRequest 是JavaScript内置的一个构造函数
创建它的实例 就是在创建Ajax对象
XML:指的是服务器与客户端传输内容的数据格式
现在我们用的都是Json格式 XML只做了解
2)告诉 Ajax 请求方式以及请求地址
// xhr.open(‘get‘,‘http:www.baidu.com‘);
//参数1 请求方式 get|post
//参数2 请求地址 服务端的路由地址
3)发送请求
xhr.send();
4)获取服务端 返回给客户端的数据
xhr.onload = function(){
console.log(xhr.responceText);
}
必须先开启服务器,确保可以以域名的形式访问静态资源文件
三 服务器端响应的数据格式
//1 在真实开发环境中 服务端返回json格式数据 //2 客户端拿到数据后 要将数据和HTML字符串进行拼接
//3 最后将拼接好的HTML用操作 DOM 更新到页面上
2)返回的数据是字符串类型
//1 在http请求与响应过程中,无论是请求参数还是响应内容,如果是对象类型,最后都会转为字符串进行传输 //2 window.JSON.parse(); 将json字符串转换为json对象
四 传递参数
1)传统的传递参数
//1 请求参数都是通过表单来传递的 //2 get方式会将参数 拼接到地址的后面 //3 post方式会参数 放在请求体当中
无论get还是post 都是 参数名1=值1&参数名2=值2 这样的格式
2)Ajax传递参数
//1 GET方式 xhr.open(‘‘,‘http://www.baidu.com?name=李白&age=55‘); //参数放在地址后面 用?问号分割 //2 POST方式 xhr.setRequestHeader(‘Content-Type‘, ‘application/x-www-form-urlencoded‘);
设置请求报文头 报文属性名称 报文属性对应的值 xhr.send(‘name=zhangsan&age=20‘);
3)json格式
xhr.setRequestHeader(‘Content-Type‘, ‘application/json‘);
告诉服务端当前请求是json数据格式
var jsonData = {name:‘李白‘,age:22}.json
JSON.stringify() //将json对象转换为json字符串