向服务器请求数据时几种不同的传参方式

向服务器请求数据时,不同的传参方式也是决定是否顺利请求回数据的决定因素之一

根据服务器的响应方式,客户端的提交形式有大致有以下几种:

1.payload方式:

payload是一种以JSON格式进行数据传输的一种方式,在我们请求的headers里设置content-type:application/json,则参数要以payload的形式传给服务器,服务器接受的是JSON对象

2.formData方式:

请求头headers设置 content-type:application/x-www-form-urlencoded,则参数要以form data的形式传递。form data方式参数不会显式的出现在请求路径中。

3.Query String Parameters

对比formData方式,这种方式参数是直接拼接在url后面,如需要传参a=1, b=2:http:www.baidu.com/s?a=2&b=3,这种方式参数是显式的出现在请求路径中的。


关于在axios中使用formData方式传递参数问题:

 
  
axios({
    url: "xxx",
    method: "POST",
    headers: {
         "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
    },
    data: Qs.stringify({ id:xxx ,type:xxx})
})

在data传递参数部分,需用qs.stringify把参数序列化为url形式:id=123&type=a

JSON.stringify也是用于序列化,把一个对象解析成字符串,注意区分


你可能感兴趣的