在 Web 開發中,在客戶端和伺服器之間高效傳輸資料通常至關重要。 jQuery 是一個受歡迎的 JavaScript 函式庫,提供了處理這類資料交換的便捷方法。一項常見的任務是使用 jQuery 將 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); } } );
此程式碼嘗試使用 $.ajax 方法將 arr 物件中的資料傳送到 Ajax.ashx 伺服器。但是,出現問題的原因是程式碼沒有指定請求內容類型或正確建構 JSON 請求。
要修正此問題,應使用JSON.stringify 方法將JavaScript 物件轉換為原生JSON 字串:
var arr = { City: 'Moscow', Age: 25 }; $.ajax({ url: 'Ajax.ashx', type: 'POST', data: JSON.stringify(arr), contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
注意要點:
contentType:指定請求內容類型,向伺服器指示正在傳送JSON 請求。
以上是為什麼我的 jQuery AJAX 請求以純文字而不是 JSON 形式發送資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!