美文网首页H5
使用 application/x-www-urlencoded

使用 application/x-www-urlencoded

作者: LUNJINGJIE | 来源:发表于2018-04-02 16:50 被阅读5次
    使用 application/x-www-urlencoded 形式的post请求

    在一般情况下,我们使用axios进行post请求是这样的

    axios.post('url', {
        username,
        password,
      })
    .then((res) => { ... })
    .catch((res) => { ... });
    

    当我们需要创建一些信息,调用接口上传一些数据的时候,我们用以上的方式会发生500错误,原因是axios默认是application/json格式的,即使添加了请求头 最后的content-type的形式还是 json 的,需要进行字符串的转换才能成功请求。


    解决方法

    axios github上提供的方法

    1.一个比较常用的方法是: 使用URLSearchParams API

      const params = new URLSearchParams();
      params.append('username', username);
      params.append('password', password);
      axios.post('url', params)
        .then((res) => {...})
        .catch((res) => {...});
    

    2.使用qs序列化json对象(在某种情况下会出现中文乱码,需要后端过滤支持)

      var qs = require('qs');
     axios.post('url', qs.stringify({
      'username': username,
      'password': 'password'
     }))
        .then((res) => {...})
        .catch((res) => {...});
    

    相关文章

      网友评论

      本文标题:使用 application/x-www-urlencoded

      本文链接:https://www.haomeiwen.com/subject/nhjxhftx.html