在Web開發(fā)中,GET請求通常用于從服務(wù)器獲取數(shù)據(jù)。當(dāng)我們需要從瀏覽器發(fā)送數(shù)據(jù)給服務(wù)器時,我們可以在URL中使用查詢參數(shù)來傳遞數(shù)據(jù)。但是,如果我們需要發(fā)送復(fù)雜數(shù)據(jù)結(jié)構(gòu),如JSON對象,我們該怎么辦?
GET /api/data?param={"key":"value"} HTTP/1.1 Host: example.com
如上所示的GET請求使用了查詢參數(shù)來傳遞JSON對象。查詢參數(shù)中的"param"參數(shù)是JSON對象的字符串表示形式。接收到請求后,服務(wù)器可以將參數(shù)解析為JSON對象。
const urlParams = new URLSearchParams(window.location.search); const param = JSON.parse(urlParams.get('param')); console.log(param.key); // "value"
在JavaScript中,我們可以使用URLSearchParams對象來獲取URL中的查詢參數(shù)。為了將參數(shù)轉(zhuǎn)換為JSON對象,我們可以使用JSON.parse()方法。
需要注意的是,使用GET請求傳遞敏感信息可能存在安全風(fēng)險。查詢參數(shù)會出現(xiàn)在URL中,如果HTTPS未加密,傳遞的數(shù)據(jù)將會被竊取。因此,當(dāng)我們需要發(fā)送敏感信息時,建議使用POST請求。