在 web 開發中,form 表單是一種經常用到的 HTML 元素,可以通過表單提交數據到后臺,進行數據交互。而在一些前后端分離的項目中,前端需要將 form 表單中的數據轉換為 json 格式,再通過 ajax 的方式發送到后臺。
<form id="myForm"> <label>姓名:</label> <input type="text" name="name"> <label>年齡:</label> <input type="number" name="age"> <button type="button" onclick="toJSON()">提交</button> </form>
上面的代碼就是一個簡單的 form 表單,包含了姓名和年齡兩個輸入框。在實際開發中,我們通常會在這個表單上綁定一個提交事件,利用 JavaScript 獲取表單數據并將其轉換為 json 格式。
function toJSON() { // 獲取 form 表單元素 var form = document.getElementById('myForm'); // 創建一個空對象,用于保存表單數據 var formData = {}; // 遍歷表單元素,獲取每個表單項的 name 和 value,并將其保存到 formData 對象中 for (var i = 0; i< form.elements.length; i++) { var element = form.elements[i]; formData[element.name] = element.value; } // 將 formData 轉換為 json 字符串 var jsonData = JSON.stringify(formData); // 發送到后臺 $.ajax({ type: 'POST', url: '/api', data: jsonData, success: function (data) { // 處理接口返回的數據 } }); }
上面的代碼中,我們定義了一個 toJSON 函數,在點擊提交按鈕時會觸發該函數。在函數內部,我們首先獲取了表單元素,并創建了一個空對象 formData。然后通過遍歷表單元素,獲取每個表單項的 name 和 value,將其保存到 formData 對象中。最后,我們將 formData 對象轉換為 json 字符串,并通過 ajax 的方式發送到后臺。
通過以上代碼,我們可以將一個 form 表單中的數據轉換為 json 格式,并利用 ajax 技術完成數據交互。這種形式的數據交互方式相對簡單,且有利于前后端分離。