搜尋

首頁  >  問答  >  主體

javascript - 為什麼很多項目在發送 post 請求前要對請求體中的資料序列化?

發現很多專案中對 post 請求中要傳輸的資料用『querystring parsing and stringifying library』這種類型的函式庫進行序列化,比如說 qs。

//POST传参序列化(添加请求拦截器)
axios.interceptors.request.use((config) => {
    //在发送请求之前做某件事
    if(config.method  === 'post'){
        config.data = qs.stringify(config.data);
    }
    return config;
},(error) =>{
     _.toast("错误的传参", 'fail');
    return Promise.reject(error);
});

其中在 qs 的介紹中有句:『A querystring parsing and stringifying library with some added security.』。請問其中的安全體現在哪裡?

天蓬老师天蓬老师2753 天前937

全部回覆(2)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-06-15 09:25:20

    看看 qs 的測試案例你就知道了 https://github.com/ljharb/qs/...

    這個 security 值得是你構造出來的資料是合法的。

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-15 09:25:20

    評論寫錯地方了 qs 這個函式庫主要就是為了偵測資料是否合法嗎?因為如果我以前用 jQuery、axios的時候就算不加 qs 這個函式庫,也照樣可以發送 ajax 請求。

    回覆
    0
  • 取消回覆