使用axios的坑
jQuery.ajax的post提交默认的请求头的Content-Type: application/x-www-form-urlencoded
而axios.post提交的请求头是Content-Type: application/json。
application/json是一个趋势,但是如果改一个旧项目,把jQuery.ajax全部换成axios.post时,需要对请求做一些配置。
改之前的代码:
// 没有指定请求头的content-type
var data = {age: 18};
$.ajax({
url: ‘‘,
type: ‘POST‘,
data: data
dataType: ‘json‘,
success: function(result) {
// do something
}
})
使用axios的代码
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
})