首页 > 解决方案 > 向 html 中的表单发出的 http 请求添加更多数据

问题描述

是否可以在 a 的主体内发送更多数据<form>

例如:

<form action="/action_page.php" method="get">
  <label for="fname">First name:</label>
  <input type="text" id="fname" name="fname"><br><br>
  <label for="lname">Last name:</label>
  <input type="text" id="lname" name="lname"><br><br>
  <input type="submit" value="Submit">
</form>

但我想发送身体:

{
  "fname":"<some name>",
  "lname":"<some last name>",
  "grant_type":"password"
}

我也想添加该grant_type部分,发送此 http 请求的最佳方式是什么?在那种情况下我必须使用ajax?

标签: javascripthtml

解决方案


看看FormData您是否想使用 Javascript 提交表单。

https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData

let myForm = document.getElementById('myForm');
let formData = new FormData(myForm);
formData.append("grant_type", "password");

否则,使用隐藏的表单域。

<input name="grant_type" type="hidden" value="password">

推荐阅读