携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情
一、charles查看电脑发起的所有请求和http请求报文-1
记住 要把localhost替换成本地IP地址
即http://IP地址:端口号/对应的网址或页面 否则charles查看不到电脑发起的请求
查看本地IP地址的方法:在cmd中输入命令行ipconfig或者all然后回车
http请求报文
常见的请求方式
get
post
put
delete
请求报文
请求行
请求方式 请求地址 版本号
请求头
cookie,host,origin,Content-Type
请求体
存储的是发送给服务器的数据
请求头和请求体之间有一个空行,空行的作用是分割请求头和请求体
常见的content-type
application/x-www-form-urlencoded url编码
application/json json格式的
multipart/form-data form-data格式的,通常用来上传文件的时候使用
GET / HTTP/1.1
Host: 192.168.17.108:3000
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
If-None-Match: W/"1f9-iTRx5uJnKb+8uubLIk9+7lRMigs"
Connection: keep-alive
二、js实现请求设置-2
在public文件里新建一个命名为form.html的文件
然后在终端里运行该文件 因为安装过nodemon 在packeage.json里设置过,所以执行npm start 或npm run start 即可
再在网页中输入主机名端口号地址等信息地址
例如 http://192.168.17.30:3000/form.html
http://localhost:3000/form.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button onclick="jsPost()">jsPost</button>
<button onclick="axiosPost()">axiosPost</button>
<button onclick="axiosPostAmend()">axiosPostAmendJsPost</button>
<!-- 可以去 bootcdn.cn 这个网站上搜网络jQuery和axios-->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.19.2/axios.min.js"></script>
<script>
/*
Content-Type:
application / x-www- form - urlencoded url编码
application / json json格式的
multipart / form - data form - data格式的, 通常用来上传文件的时候使用 */
/*
jquery ----- 默认url编码
axios ----- 默认json格式
他们之间可以转换,改变Content-Type的值
*/
/* jqPost */
function jsPost() {
$.ajax({
type: "post",
url: "/api/v1/m",
data: {
name: '刘死狗',
age: 18,
skills: '治疗',
},
success: function (response) {
console.log(response);
}
});
}
/* axiosPost */
function axiosPost() {
axios.post('/api/v1/m', {
name: '墨薇荷',
age: 18,
skills: '唱歌,打游戏,吃喝玩乐,睡大觉',
}).then(res => {
console.log(res);
});
}
/* axiosPost 将其默认的json格式改为url编码 */
function axiosPost() {
axios.post('/api/v1/m', "name=张三&age=19", {
headers: {
"Content-Type": "application/x-www-form-urlencoded",
}
}).then(res => {
console.log(res);
});
}
</script>
</body>
</html>