GET請求一般用于獲取數據,而傳遞參數一般是通過查詢字符串(query string)來傳遞的。但是有時候我們希望能夠更簡潔明了地傳遞參數,這時候就可以使用get請求路徑傳遞json字符串。
GET /api/data?json={"name":"Jack","age":20} HTTP/1.1 Host: example.com
上面的例子中,我們通過get請求路徑傳遞了一個名為json的參數,它的值是一個json字符串{"name":"Jack","age":20}。
后端在接收到請求之后,可以通過獲取請求路徑中的參數值來獲取到json字符串,然后再進行JSON.parse()等操作,將其轉換成json對象進行處理。
const url = require('url'); const querystring = require('querystring'); const server = http.createServer(function (req, res) { const query = url.parse(req.url).query; const params = querystring.parse(query); const json = JSON.parse(params.json); // do something with json... });
當然,使用get請求路徑傳遞json字符串也存在一些缺點,比如傳遞的字數有限制,增加了url的長度等。因此,我們需要根據具體的情況來選擇使用查詢字符串或者get請求路徑傳遞json字符串。
上一篇python 讀取信息