在前后端分離的開發(fā)中,前臺(tái)一般會(huì)通過get請(qǐng)求向后臺(tái)發(fā)送參數(shù)。而在某些情況下,需要向后臺(tái)發(fā)送json格式的參數(shù),那么我們就需要使用json傳參技巧了。
$.ajax({ type: 'get', url: '/api/user/getUserInfo', data: JSON.stringify({username: 'Tom', age: 18}), contentType: 'application/json', success: function (res) { console.log(res); } })
上面的代碼中,我們通過ajax的data屬性將json數(shù)據(jù)傳遞到后臺(tái)。但需要注意的是,在使用json傳參時(shí),我們需要設(shè)置contentType為“application/json”類型。
同時(shí)在后臺(tái)的代碼處理中,我們也需要對(duì)請(qǐng)求參數(shù)進(jìn)行json解析。
@RequestMapping(value = "/getUserInfo", method = RequestMethod.GET) @ResponseBody public ResultVO getUserInfo(HttpServletRequest request) { String jsonStr = request.getParameter("data"); JSONObject jsonObject = JSONObject.fromObject(jsonStr); String username=jsonObject.getString("username"); Integer age=jsonObject.getInt("age"); //處理后續(xù)業(yè)務(wù)邏輯 ... }
上面的代碼使用SpringMVC框架對(duì)請(qǐng)求的json參數(shù)進(jìn)行處理。通過request.getParameter()方法獲取傳遞的參數(shù),再使用JSONObject.fromObject()方法將其轉(zhuǎn)化為json對(duì)象。
總的來說,json傳參技巧可以減少多余的參數(shù)傳遞,提高代碼的可讀性和請(qǐng)求的速度。