目录
1.AJAX发送post请求
改变一下发送内容与get请求区别一下。
app.post('/server', (request, response) => {
//设置响应头 设置允许跨域
response.setHeader('Access-Control-Allow-Origin', '*');
// 设置响应体
response.send("Hello AJAX POST");
});
其他部分与上一篇文章中Ajax发送get请求设置基本一致,把请求类型从get改成post就可以了。
xhr.open('post','http://127.0.0.1:8000/server');
启动服务后打开页面,鼠标移动到框内可以成功显示内容
2.post设置请求体
xhr.send('a=100&b=200&c=300');
3.设置请求头信息
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
请求报文中添加了自定义请求头的时候会报错。
如果要发自定义请求头的话:
把post改成all
4. 服务端响应json数据
const result = document.getElementById('result');
window.onkeydown = function(){
//发送请求
const xhr = new XMLHttpRequest();
//初始化
xhr.open('GET','http://127.0.0.1:8000/json-server');
//发送
xhr.send();
//事件绑定
xhr.onreadystatechange = function(){
if(xhr.readyState ===4){
if(xhr.status>=200 && xhr.status <300){
console.log(xhr.response);
result.innerHTML = xhr.response;
}
}
}
}
格式修改如下:
5.nodemon 自动重启工具的安装
每次修改js文件之后,都要重新关闭再打开服务器,非常的麻烦。可以通过下载nodemon这个工具解决问题。但是这个工具要基于npm去安装,npm需要有node.js这个环境才行。下载nodemon需要先下载node.js,然后在终端里输入一行指令
npm install -g nodemon
安装好之后可以启动服务
npx nodemon serve.js
显示这样就表示成功了。
6.请求超时和网络异常处理
//超时回调
//网络异常回调
//js部分
7.取消请求
8.请求重复问题
9.axios发送AJAX请求
Axios,是一个基于promise 的网络请求库,作用于node.js和浏览器中,它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生node.js http模块, 而在客户端 (浏览端) 则使用XMLHttpRequest。
在页面中直接引入即可
js部分
10.axios函数发送AJAX请求
获取响应内容