1、Ajax发送post请求
需求:当把鼠标放到div上时,向服务端发送请求,将响应体结果在div中做呈现
服务端设置响应post
addEventListener() 方法用于向指定元素添加事件句柄。
提示: 使用 removeEventListener() 方法来移除 addEventListener() 方法添加的事件句柄。
2、post设置请求体
较为灵活,但在服务端要有与之对应的处理方式
3、设置请求头信息
预定义:
Content-Type 设置请求体内容的类型
自定义:
在服务端
4、服务端响应json数据
按下任意键向服务端发送请求,div中显示响应内容
服务端:
JSON.html
手动数据转化
自动数据转化
5、IE缓存问题
IE缓存问题指的是IE浏览器遇到同样的Ajax请求的时候,会缓存返回结果,当返回结果发生变化的时候,浏览器显示的还是未变化的内容。
Data.now()的作用是获取当前的时间戳,第一次和第二次请求的时间戳不同,让浏览器认为是不同的请求
6、请求超时和网络异常处理
服务器端
7、取消请求
在请求过程中,结果还未回来时,手动取消请求
使用abort()方法实现取消请求,在上述代码中由于x不在同一个方法中,所以要在外侧定义x,这里不可使用const,因为const定义的值不可更改
8、重复发送请求
当用户多次发送同一个请求时,服务器端的压力较大,所以我们需要在用户多次发送同一个请求时,取消上一个请求,创建新的请求,这样保证了始终只有一个请求