向服务器请求数据时,不同的传参方式也是决定是否顺利请求回数据的决定因素之一
根据服务器的响应方式,客户端的提交形式有大致有以下几种:
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也是用于序列化,把一个对象解析成字符串,注意区分