https://blog.csdn.net/weixin_45438997/article/details/115126419
使用form-data和raw作为body发起POST请求的区别
使用form-data作为body发起POST请求:
前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>使用form-data作为body发起POST请求</title>
</head>
<body>
</body>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$.ajax({
url: "",
type: "POST",
data: {
"UserName": "",
"Code": ""
},
success: function (res) {
console.log(res)
},
error: function (err) {
console.log(err)
},
})
</script>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
后端
# 以python为例
# 具体代码略
结论:
- 利用form-data方式进行POST请求的时候, 请求的参数可以通过request.argument以及request.body_arguments得到的是可以直接使用的字典格式(强烈推荐)。
- 通过requst.body得到的参数,则是分割开的,需要自行处理后才能进行使用(不推荐)。
- 1
- 2
- 3
- 4
- 5
使用raw作为body发起POST请求:
前端
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>使用form-data作为body发起POST请求</title>
</head>
<body>
</body>
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<script>
$.ajax({
headers: {
"Content-Type": "application/json"
},
url: "",
type: "POST",
data: JSON.stringify({
"UserName": "",
"Code": ""
}),
success: function (res) {
console.log(res)
},
error: function (err) {
console.log(err)
},
})
</script>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
后端
# 以python为例
# 具体代码略
结论:
- 利用raw方式进行POST请求的时候, 请求的参数只能通过request.body获取到的。
- 通过这个参数获取到的是一个json字符串, 通过json.loads(request.body)即可将传递过来的参数转换成字典,做下一步操作。 .
- 1
- 2
- 3
- 4
- 5