搜索

首页  >  问答  >  正文

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 天前936

全部回复(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
  • 取消回复