在Web開發(fā)中,提交表單數(shù)據(jù)是非常常見的操作,而傳統(tǒng)的表單提交方式,其實是不夠優(yōu)秀的,這種方式傳輸?shù)臄?shù)據(jù)格式是非常簡單的鍵值對,如果需要提交復(fù)雜的結(jié)構(gòu)化數(shù)據(jù),就不太友好。那么,我們就需要使用
標(biāo)簽來提交JSON格式的表單數(shù)據(jù)。
首先,我們需要創(chuàng)建表單,即帶有提交按鈕的HTML表單結(jié)構(gòu),如下所示:
<form id="myform"> <input type="text" name="name" placeholder="請輸入姓名"> <input type="text" name="age" placeholder="請輸入年齡"> <button id="submit-btn">提交</button> </form>
當(dāng)點(diǎn)擊提交按鈕時,我們需要阻止表單的默認(rèn)提交行為,并使用JavaScript代碼來序列化表單數(shù)據(jù)并將其轉(zhuǎn)換為JSON對象。如下所示:
document.querySelector('#submit-btn').addEventListener('click', function(event) { event.preventDefault(); // 阻止表單默認(rèn)提交行為 var form = document.querySelector('#myform'); var data = new FormData(form); var json = {}; data.forEach(function(value, key) { json[key] = value; }); console.log(json); });
在上述代碼中,我們使用了FormData對象來獲取表單值。然后,我們遍歷FormData對象,將其值存儲到一個普通JavaScript對象中,這樣就得到了一個JSON對象。
最后,我們可以將JSON對象發(fā)送給服務(wù)器,服務(wù)器就可以解析JSON數(shù)據(jù)。如果使用jQuery框架,可以使用ajax方法來發(fā)送JSON數(shù)據(jù)。如下所示:
$.ajax({ url: '/submit', type: 'POST', contentType: 'application/json', data: JSON.stringify(json), success: function(response) { console.log(response); } });
在上述代碼中,我們指定了POST請求和JSON格式的Content-Type。然后,我們將JSON數(shù)據(jù)轉(zhuǎn)換為字符串,發(fā)送給服務(wù)器,并在成功回調(diào)函數(shù)中處理響應(yīng)數(shù)據(jù)。
最終,我們使用
標(biāo)簽來提交JSON格式的表單數(shù)據(jù),可以讓數(shù)據(jù)傳輸更加友好和高效。
上一篇python 畫圖像輪廓
下一篇vue中api接口