axios post提交的Content-Type

使用axios的坑

jQuery.ajaxpost提交默认的请求头的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
})
posted @ 2018-05-23 17:32  庞国明  阅读(6816)  评论(0编辑  收藏  举报