在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ axios發(fā)送的json怎么變成這個(gè)鬼樣子,有誰知道怎么解決嗎?

axios發(fā)送的json怎么變成這個(gè)鬼樣子,有誰知道怎么解決嗎?

clipboard.png

Axios.post('http://localhost:9090/teacher/save',JSON.stringify(this.teacher))
                        .then(res=>{
                            console.log('res=',res)
                        })
                        .catch(err=>{

                        })

clipboard.png

Axios.post('http://localhost:9090/teacher/save',this.teacher, {headers: {"Content-Type": "application/json"}})
                        .then(res=>{
                            console.log('res=',res)
                        })
                        .catch(err=>{

                        })

我設(shè)置了application/json,但是從圖中可以看出發(fā)送的并不是json格式,而是a=&b=這樣的格式,是不是哪里配置的有問題

回答
編輯回答
替身

大家聽我說,問題已經(jīng)解決了,原來我的另外一個(gè)文件里面有個(gè)axios攔截器,去掉就好了,打擾各位了,不過非常謝謝你們:)

import axios from 'axios'

// //調(diào)用Axios請求之前加載
//Axios請求攔截器,隨著業(yè)務(wù)的復(fù)雜,Axios層的使用將會(huì)越來越復(fù)雜,寫個(gè)精簡版的就行了。
// axios.defaults.headers.post['Content-Type'] = 'application/json';
// axios.interceptors.request.use(req => {
//     let data = req.data
//     console.log('befor convert', data)
//     let params = new URLSearchParams();
//     for (let name in data) {
//            params.append(name, data[name])
//     }
//     req.data = params.toString()
//     console.log('after convert', req)
//     return req
// }, error => {
//     return Promise.reject(error)
// })
2017年7月13日 22:23
編輯回答
陌離殤

如果確定是'application/json'要傳json字符串的話,不需要JSON.stringify直接傳對象就行了,axios默認(rèn)就是傳這個(gè),不需要你處理。


你其他地方?jīng)]做默認(rèn)設(shè)置?比如axios.defaults之類的?
你說默認(rèn)就是'Content-Type': 'application/x-www-form-urlencoded',我咋感覺是改過默認(rèn)配置呢?
然后傳的時(shí)候沒做處理的參數(shù)明顯是做了序列化處理的。。。

2017年3月17日 11:04
編輯回答
小眼睛

感覺axios期望的數(shù)據(jù)應(yīng)該是個(gè)object吧,他的解析方式是key:value,所以你傳入的字符串會(huì)解析成

0: {
1: a
2: b
3:c
4: ...
n: }

應(yīng)該內(nèi)部調(diào)用了一個(gè)對象轉(zhuǎn)query的方法

2018年7月27日 18:59
編輯回答
糖果果

試試Axios.post('http://localhost:9090/teacher/save',{},JSON.stringify(this.teacher))

2018年3月23日 00:01
編輯回答
墨小白
不要用JSON.stringify引入一個(gè)qs庫,使用qs.stringify

Axios.post('http://localhost:9090/teacher/save',qs.stringify(this.teacher),
    {
headers: {
  'Content-Type': 'application/x-www-form-urlencoded'
}
)
.then(res=>{
    console.log('res=',res)
}).catch(err=>{

})

`
如果服端是試圖接受一個(gè)JSON字符串用下面的方式

let postdata = {
    params: {
        teacher: json.stringify(this.teacher) //鍵值名,根據(jù)你后臺POST接收名來確定
    }
}

Axios.post('http://localhost:9090/teacher/save',qs.stringify(postdata ),
        {
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
    )
    .then(res=>{
        console.log('res=',res)
    }).catch(err=>{
    
    })

`

2017年5月22日 04:17