使用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
})