Ajax简介
首先Ajax是什么?
Ajax的本质是异步的js和xML
XML是什么?
1、可扩展标记语言
2、被设计用来传输和存储数据
3、和HTML相似,但HTML是预定义标签,而XML是自定义标签,用来表示一些数据
下面是一个XML自定义标签,xml不可以做任何事
Ajax的作用:可以在浏览器中向服务端发送异步请求
Ajax的优点:1、无需刷新页面而与服务器进行通信
2、无需根据用户事件来更新部分页面内容
Ajax的缺点:1、没有浏览历史,不能回退
2、存在跨域问题(同源)
3、对SEO(搜索引擎优不友好)
2、使用
1、创建对象 XMLHttpRequest()
2、初始化 open()第一个参数指定是什么请求,第二个参数指定url
get请求
post请求
3、发送send()
4、事件绑定处理服务端结果
onreadystatechange():当xhr对象readystatechange发生改变时
readystate的属性有 0 1 2 3 4
0-最开始的属性就是未初始化
1-open方法已调用完毕
2-send方法已调用完毕
3-服务端返回了部分结果
4-服务端已返回全部结果
完整代码
服务端代码
3、Ajax中设置传参方式
在get请求中直接在url后用?传递参数用&分割
在post请求中设置参数可以在send中设置请求体
自定义响应头,需要在app后写all app.all表示可以接收任意类型的请求
4、Ajax中的json
因为在服务器端 send()只能接收字符串和buffer类型(16进制),如果我们响应体发送的内容是一个对象我们就可以借助JSON.stringify将对象转换为字符串,得到返回内容时也可以借助JSON.parse在转换为对象
5、Ajax设置请求超时与异常处理
6、Ajax请求重复发送问题