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