在前端開發中,我們經常需要使用 HTTP 請求來獲取后端服務器提供的數據。其中 GET 請求是最常用的一種請求方式,因為它比 POST 請求更具有安全性。而有時候我們需要將一些復雜的 JSON 數據作為參數傳遞給后端服務器,那么該如何發送呢?下面我們就來看一下使用 GET 請求發送復雜 JSON 的方法。
// 假設復雜的 JSON 數據如下 var data = { "name": "張三", "age": 20, "address": { "province": "浙江", "city": "杭州", "area": "西湖區" }, "hobbies": ["籃球", "游泳"], "friends": [{ "name": "李四", "age": 21 }, { "name": "王五", "age": 22 }] }; // 將復雜的 JSON 數據編碼成字符串 var jsonData = encodeURIComponent(JSON.stringify(data)); // 發送 GET 請求 var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText); } }; xhr.open('GET', '/api/user?data=' + jsonData, true); xhr.send();
代碼實現起來并不難,關鍵是要將復雜的 JSON 數據編碼成字符串并將其作為參數傳遞給后端服務器。在上面的代碼中,我們使用了encodeURIComponent
函數來對 JSON 數據進行編碼,這樣就能保證傳遞的參數不會被誤解析。
需要注意的是,GET 請求有長度限制,如果傳遞的參數過長可能會導致請求失敗。如果您需要傳遞的 JSON 數據比較大,建議使用 POST 請求來發送數據。