1. 程式人生 > >post、put請求

post、put請求

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);
}

最後打印出入後臺的資料
在這裡插入圖片描述
完美解決!!