色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

get請求中傳json參數(shù)

劉姿婷2年前8瀏覽0評論

在前后端分離的開發(fā)中,ajax請求已經(jīng)成為了一種不可或缺的方式。其中g(shù)et請求是最為普遍和常用的一種請求方式。通常情況下,我們在get請求中需要傳遞的參數(shù)是以key=value的形式出現(xiàn)的。但是,如果我們的參數(shù)是json格式的話,就需要進行特殊的處理。

$.ajax({
url: "/user",
type: "get",
data: {
id: 1001,
data: {
name: "Jim",
age: 20
}
},
success: function(data){
console.log(data);
}
});

從上面的代碼可以看出,我們在get請求中傳遞的參數(shù)data是一個json格式的數(shù)據(jù)。在傳遞的過程中,我們需要先將其轉(zhuǎn)化為字符串,并使用encodeURIComponent()對字符串進行編碼。最后將編碼后的字符串作為key的值傳遞給后端。在后端中,需要使用URLDecoder.decode()對參數(shù)進行解碼,然后再將其轉(zhuǎn)化為json格式的數(shù)據(jù)進行處理。

@RequestMapping(value="/user", method=RequestMethod.GET)
@ResponseBody
public String getUser(@RequestParam(value="id") Integer id, @RequestParam(value="data") String data){
String result = "";
try{
String decodeData = URLDecoder.decode(data, "UTF-8");
JSONObject json = JSONObject.fromObject(decodeData);
String name = json.getString("name");
Integer age = json.getInt("age");
result = "id: " + id + ", name: " + name + ", age: " + age;
}catch(Exception e){
e.printStackTrace();
}
return result;
}

在后臺中,我們首先對傳遞的json參數(shù)進行了解碼,并將其轉(zhuǎn)化為json對象。在獲取name和age的值時,我們使用了JSONObject的相關(guān)api進行處理。最終將獲取的結(jié)果以字符串的形式返回給前端。