在 Web 開發中,GET 和 POST 是最常用的兩種 HTTP 請求方法。很多人都使用過 GET 方式提交表單數據,但其實 GET 方式也可以提交 JSON 數據。
下面是一個簡單的示例代碼:
var xhr = new XMLHttpRequest(); xhr.open('GET', '/api/user?data={"name":"Alice", "age": 26}', true); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { console.log(xhr.responseText); } }; xhr.send();
以上代碼中,我們使用了 XMLHttpRequest 對象來發送 GET 請求。在 url 中,我們傳遞了一個鍵值對,其中鍵為 data,值為 JSON 字符串。
在服務器端,我們可以使用類似以下的代碼來解析 JSON 數據:
const queryString = require('query-string'); app.get('/api/user', (req, res) =>{ const data = queryString.parse(req.query.data); console.log(data.name, data.age); res.send('OK'); });
在上述代碼中,我們使用了 Node.js 中的 query-string 模塊來解析 GET 請求中的參數。然后,我們就可以像使用普通的 JSON 對象一樣訪問提交的 JSON 數據了。
需要注意的是,GET 請求會將參數附加到 URL 中。如果提交的數據量過大,可能會造成 URL 過長,不利于維護。此時,我們應該考慮使用 POST 方式提交數據。