在網絡開發中,我們經常會通過 HTTP 協議向服務器發送請求來獲取或修改數據。其中,GET 請求是最常見的請求方式之一。在一些場景下,我們需要向服務器發送的數據并不是傳統的 URL 參數形式,而是 JSON 字符串。那么,我們該如何進行 GET 請求并附帶 JSON 字符串呢?
// 創建 XMLHttprequest 對象 var xhr = new XMLHttpRequest(); // 設置請求方式和請求地址(這里以傳統的 URL 方式請求為例) xhr.open('GET', '/api/data?key=value', true); // 設置請求頭部信息 xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8'); // 監聽請求狀態變化 xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { console.log(xhr.responseText); } } // 發送請求(這里附帶了 JSON 字符串) xhr.send(JSON.stringify({name: 'apple', price: 10}));
以上就是一個簡單的使用 GET 請求并附帶 JSON 字符串的示例。關鍵點在于在發送請求之前,設置了請求頭部信息的 Content-Type 值為 application/json,同時通過 JSON.stringify 方法將 JSON 對象轉換為字符串形式。在服務器中,可以通過讀取請求頭部信息的 Content-Type 值以及解析請求體中的數據來獲取附帶的 JSON 字符串數據。
除開上面的示例,還可以使用一些第三方庫或框架來處理 JSON 字符串的 GET 請求。例如,使用 jQuery 中的 AJAX 方法:
$.ajax({ url: '/api/data', type: 'GET', data: JSON.stringify({name: 'apple', price: 10}), contentType: 'application/json; charset=utf-8', success: function (data) { console.log(data); } });
以上就是使用 jQuery AJAX 方法進行 JSON 字符串的 GET 請求。關鍵點在于在請求參數中設置了 data 和 contentType 兩個屬性值。在服務器中,使用 body-parser 中間件可以方便的解析附帶的 JSON 字符串數據。