post提交的Content-Type

jQuery.ajaxpost提交默认的请求头的Content-Type: application/x-www-form-urlencoded
axios.post提交的请求头是Content-Type: application/json

application/json是一个趋势,但是如果改一个旧项目,把jQuery.ajax全部换成axios.post时,需要对请求做一些配置。

改之前的代码:

1
2
3
4
5
6
7
8
9
10
11
// 没有指定请求头的content-type
var data = {age: 18};
$.ajax({
url: '',
type: 'POST',
data: data
dataType: 'json',
success: function(result) {
// do something
}
})

使用axios的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
import axios from 'axios';
import qs from 'qs';

var data = {age: 18};
var url = '';

axios.post(
url,
qs.stringify(data),
{headers: {'Content-Type': 'application/x-www-form-urlencoded'}}
).then(result => {
// do something
})

avatar

changzhn`s blog

中国人睡觉时,美国人大多数人在工作