JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,與XML類似但更易于閱讀和編寫。在Web中,我們常常使用JSON來從服務(wù)器獲得數(shù)據(jù)或向服務(wù)器提交數(shù)據(jù)。除了 GET 和 POST 方法外,我們還可以使用 AJAX 和 jQuery 的 API 來提交表單。下面我們將介紹如何使用JSON來提交表單。
$('form').submit(function(e) {
e.preventDefault(); // 阻止默認的提交動作
var formData = $(this).serializeArray();
var jsonObj = {};
$.each(formData, function() {
jsonObj[this.name] = this.value;
});
$.ajax({
url: $(this).attr('action'),
type: 'POST',
dataType: 'json',
data: JSON.stringify(jsonObj), // 將表單數(shù)據(jù)轉(zhuǎn)換為JSON格式
success: function(data) {
console.log(data); // 成功時的回調(diào)函數(shù)
},
error: function(xhr, textStatus, errorThrown) {
console.log('Error:', errorThrown); // 失敗時的回調(diào)函數(shù)
}
});
});
上述代碼首先使用 jQuery 提供的 serializeArray() 函數(shù)將表單數(shù)據(jù)序列化為一個數(shù)組。然后逐個遍歷數(shù)組的每個元素,將其轉(zhuǎn)換為一個 JSON 對象。接著使用 jQuery 的 AJAX 函數(shù)向服務(wù)器提交數(shù)據(jù),content-type 設(shè)置為 application/json,將數(shù)據(jù)作為字符串傳遞到服務(wù)器端,以便服務(wù)器通過 JSON.parse() 函數(shù)將其轉(zhuǎn)換回原始的 JavaScript 對象。