使用jQuery 的$.ajax 函數時,經常會遇到意外行為,資料會自動以JSON形式發送轉換為查詢字串。如果您的應用程式依賴接收實際的 JSON 對象,這可能會出現問題。
第一個直覺是設定將「dataType」屬性設為「json」以指定預期的資料類型。但是,這僅規定了伺服器期望的資料類型,而不是您傳送給伺服器的資料類型。
解決這個問題,你需要使用 JSON.stringify 將你的 JavaScript 物件序列化為 JSON 字串。此外,您必須將“contentType”屬性設為“application/json”,以指示伺服器傳送的資料是 JSON。
$.ajax({ url: url, type: "POST", data: JSON.stringify(data), contentType: "application/json", complete: callback });
現代瀏覽器提供原生 JSON 功能。但是,如果需要舊版支持,則可以使用 json2 函式庫來模擬舊環境的 JSON 行為。
以上是如何使用 jQuery 的 $.ajax 發送 JSON 資料而不進行查詢字串轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!