微信小程序:post请求参数放在请求体中还是拼接到URL中需要看后台是如何接收的?

前端发送post请求时,请求参数可以放在请求中,代码如下:

function post(url, data, callback) {
    wx.request({
        method: 'POST',
        url: app.globalData.serverApi + url,
        data: data,
        header: {
            'content-type': 'application/json',
            'Authorization': app.globalData.token
        },
        success(res) {
            callback(res);
        }
    })
}

前端发送post请求时,请求参数还可以拼接在URL后,代码如下:

function postParam(url, data, callback) {
    const keys = Object.keys(data)
    let params = '?'
    for (let i = 0; i < keys.length; i++) {
        const key = keys[i]
        let value = data[key]
        if (value != null && value != '') {
            if (i != 0) {
                params += '&'
            }
            //对特殊字符进行转义
            value = encodeURIComponent(value)
            params += key + '=' + value
        }

    }
    wx.request({
        method: 'POST',
        url: app.globalData.serverApi + url + params,
        header: {
            'content-type': 'application/json',
            'Authorization': app.globalData.token
        },
        success(res) {
            callback(res);
        }
    })
}

前端到底使用哪一种请求方式,具体得看后台以什么形式接收,如果后台用@RequestBody注解接收参数,前端就用请求体传递参数的方式发送请求;如果后台是用@Requestparam注解接收参数,则前端就用拼接参数在URL后面的方式传递参数。如果请求方式错误,后台将无法接收到请求。