在前后端分離的開發模式中,前端通常會向后端提交 JSON 格式的數據,以便后端能夠對該數據進行處理并響應相應結果。本文將介紹如何使用from
標簽提交 JSON 格式的數據。
首先,我們需要創建一個表單,并將method
屬性設置為POST
,如下所示:
<form method="POST" action="/submit"> ... </form>
在表單中,我們需要添加一個隱藏的文本域,用于存儲 JSON 數據。同時,我們需要使用 JavaScript 來將 JSON 對象轉換為字符串,并將其賦值給該文本域的 value 屬性。示例代碼如下:
<form method="POST" action="/submit"> <input type="hidden" id="data" name="data" /> ... </form> <script> var data = { name: "Jack", age: 20 }; var dataString = JSON.stringify(data); document.getElementById("data").value = dataString; </script>
在上述代碼中,我們創建了一個名為data
的 JSON 對象,并使用JSON.stringify()
方法將其轉換為字符串。接著,我們將該字符串賦值給名為data
的隱藏文本域的 value 屬性。
最后,在提交表單之前,我們還需要設置請求頭的Content-Type
屬性為application/json
,以告訴后端該請求的數據格式是 JSON。示例代碼如下:
<form method="POST" action="/submit"> <input type="hidden" id="data" name="data" /> ... </form> <script> var data = { name: "Jack", age: 20 }; var dataString = JSON.stringify(data); document.getElementById("data").value = dataString; var form = document.querySelector("form"); form.addEventListener("submit", function(event) { event.preventDefault(); var xhr = new XMLHttpRequest(); xhr.open("POST", "/submit"); xhr.setRequestHeader("Content-Type", "application/json"); xhr.send(dataString); }); </script>
在最后一段代碼中,我們添加了一個事件監聽器,以便在提交表單時阻止默認行為,并使用 XMLHttpRequest 對象發送 POST 請求。在發送請求時,我們設置了請求頭的Content-Type
屬性,并將 JSON 字符串作為請求體發送給后端。
上一篇vue地圖框架
下一篇vue cookie全局