使用jQuery 發送JSON 資料:避免表單編碼字串
在使用jQuery 的$.ajax() 傳輸JSON 資料時,開發傳輸JSON 資料時,開發傳輸者可以遇到資料作為表單編碼字串而不是預期的JSON 格式發送的問題。當省略某些參數時,就會發生這種情況。
考慮以下程式碼:
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
在此程式碼中,資料會以表單編碼字串傳送(例如,「City=Moscow&Age= 25") 而不是 JSON。要解決此問題,必須採取兩個關鍵步驟:
將資料轉換為JSON 格式:
使用JSON.stringify() 方法將JavaScript 物件(arr) 轉換為JSON 字串。
var arr = { City: 'Moscow', Age: 25 }; var json_data = JSON.stringify(arr);
指定請求內容類型:
將contentType 屬性設為'application/json; charset=utf-8' 表示請求包含JSON 資料。
contentType: 'application/json; charset=utf-8',
下面更正的程式碼合併了這些變更:
$.ajax({ url: 'Ajax.ashx', type: 'POST', data: json_data, contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
這些調整確保資料以JSON 形式發送,允許伺服器正確處理請求並傳回所需的JSON 響應。
以上是如何使用 jQuery 傳送 JSON 資料:避免表單編碼字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!