在前端開發的過程中,我們經常需要通過 URL 傳遞參數,而 GET 請求是最常見的一種類型。在傳參的時候,我們可以使用 JSON 格式來傳遞數據,這樣可以方便地傳遞多個參數。
下面是一段使用 GET 方式傳遞 JSON 數據的代碼實例:
let data = {name: 'Tom', age: 18};
let params = '?data=' + encodeURIComponent(JSON.stringify(data));
fetch(`https://xxx.com/api${params}`)
.then((res) =>{
return res.json();
})
.then((result) =>{
console.log(result);
});
在這段代碼中,我們首先定義了一個 JSON 對象,然后使用JSON.stringify()
方法將 JSON 數據序列化為字符串。接著我們使用encodeURIComponent()
方法將編碼后的字符串作為參數的值拼接到 URL 中。
在服務端接收到請求后,需要將傳遞的參數解析為 JSON 對象。在使用 Node.js 編寫服務端代碼時,可以使用以下代碼來獲取 JSON 參數:
const querystring = require('querystring');
const url = require('url');
const server = http.createServer((req, res) =>{
const { query } = url.parse(req.url);
const params = querystring.parse(query);
const data = JSON.parse(params.data);
// do something with data...
});
server.listen(3000);
以上代碼中,我們使用 Node.js 內置的querystring
和url
模塊來解析 URL 中的參數。其中params.data
表示 URL 中的 data 參數值,我們通過JSON.parse()
方法將其解析為 JSON 對象,之后就可以對數據進行操作了。
通過 GET 方式傳遞 JSON 數據雖然比較方便,但是由于 URL 的長度有限制,所以不能直接傳輸過大的數據量。另外,由于 URL 中的參數是明文傳輸的,因此不太適合傳輸一些敏感信息。對于這些情況,我們可以考慮使用 POST 請求來傳輸數據。