在前后端交互中,常常會(huì)用到傳遞JSON字符串的方式。而HTTP協(xié)議中g(shù)et和post是最常用的兩種請(qǐng)求方式,那么問(wèn)題來(lái)了,get請(qǐng)求能傳遞JSON字符串嗎?
GET /api/user?data={"name":"Tom","age":20} HTTP/1.1
答案是可以的。get請(qǐng)求的參數(shù)可以放在url后面,這樣結(jié)合JSON字符串,請(qǐng)求url可以寫(xiě)成上面的形式。這個(gè)url可以被識(shí)別成一個(gè)完整的uri,而“data”這個(gè)參數(shù)的值是一個(gè)JSON字符串,這些信息可以被后端解析并作出相應(yīng)的處理。
然而,我們需要注意兩件事情:
- 如果JSON字符串特別長(zhǎng)的話,會(huì)對(duì)請(qǐng)求url的長(zhǎng)度造成影響。
- get請(qǐng)求的參數(shù)一般是公開(kāi)的,如果JSON中包含敏感信息,建議使用post請(qǐng)求或者對(duì)JSON進(jìn)行加密處理。
綜上所述,在適當(dāng)?shù)那闆r下,get請(qǐng)求可以傳遞JSON字符串,但需要注意請(qǐng)求url長(zhǎng)度和數(shù)據(jù)安全性。如果有更好的方法,還是建議使用post請(qǐng)求。
上一篇get方法傳遞json