post、put請求
阿新 • • 發佈:2019-01-12
post、put請求
提交這種複雜型別資料:
{
name:"Myname",
{
types:[1,3],
forms:[2,5]
}
}
一般的資料提交型別為json
,
對應的資料宣告型別:'Content-Type':'application/json'
序列化:JSON.stringify(data)
json字串
還有 FormData 型別的
對應的資料宣告型別:'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'
序列化:qs.stringify(data)
ids[]=27&ids[]=26 ==> ids%5B0%5D=27&ids%5B1%5D=26
在使用axios傳送put請求時,一開始使用的是json.stringify()的資料型別向後端node介面傳遞,但是總是返回下面這種資料
並且其型別還是Object型別,但是還不能呼叫到其裡面的屬性值,非常鬱悶,
查了老多資料才發現這個可以用表單的資料處理方式傳遞資料,
於是我首先在後端介面設定可以處理表單資料的響應頭(這裡使用的是node Express搭建的介面)
res.header('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
接下來使用node中的qs模組處理將要傳送的資料
import axios from 'axios';
const qs = require('querystring');
export let updateBook = (id,data)=>{
data = qs.stringify(data);
return axios.put(`/allbooks/${id}`,data);
}
最後打印出入後臺的資料
完美解決!!