如何从html表单发送json
我正试图从我的HTML代码中发送一个表示为JSON的表单:如何从html表单发送json,html,json,spring,kotlin,Html,Json,Spring,Kotlin,我正试图从我的HTML代码中发送一个表示为JSON的表单: <form action="/login/verify" enctype="application/json" method="post"> <input type="text" id="login" name="login"><br> <input type="password" id="password" name="password"><br> &
<form action="/login/verify" enctype="application/json" method="post">
<input type="text" id="login" name="login"><br>
<input type="password" id="password" name="password"><br>
<input type="submit">
</form>
我知道enctype=“application/json”
不起作用,但我可以使用什么,我需要使用javascript吗
编辑:
我写了这个js:
function sendJSON(formName) {
var myForm = document.getElementById(formName);
var data = {};
for(var formElement of myForm.childNodes.values()){
if(formElement.name!= "undefined")
{
var key = formElement.name
var value = formElement.value
data[key] = value
}
}
var xhr = new XMLHttpRequest();
xhr.open("POST", myForm.action, true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.send(JSON.stringify(data));
}
我将输入类型从submit更改为button,并在其中添加onclick,但它不起作用问题是您需要包含一些客户端JavaScript以JSON对象的形式发送POST数据 您可以通过创建一个JavaScript
函数
来实现这一点,该函数称为submit按钮的onclick
,该按钮执行以下操作:
XMLHttpRequest
问题是您需要包含一些客户端JavaScript,以将表单中的POST数据作为JSON对象发送 您可以通过创建一个JavaScript
函数
来实现这一点,该函数称为submit按钮的onclick
,该按钮执行以下操作:
XMLHttpRequest
我认为浏览器不支持JSON类型。看起来只支持
应用程序/x-www-form-urlencoded
,多部分/表单数据
,文本/普通
()
所以我推荐使用javascript。我为这个案子找到了一个很好的图书馆。
我认为浏览器不支持JSON类型。看起来只支持
应用程序/x-www-form-urlencoded
,多部分/表单数据
,文本/普通
()
所以我推荐使用javascript。我为这个案子找到了一个很好的图书馆。
我的脚本很好,但是,这个请求得到404响应,不移动到下一页,它可以被xhr检查。responsetext我的脚本很好,但是,这个请求得到404响应,不移动到下一页,它可以被xhr检查。responsetext我正在检查,js支持这个内容类型->应用程序/json;charset=UTF-8'但仅在POSTi'm check it中,js支持此内容-type->'application/json;字符集=UTF-8',但仅在POST中
function sendJSON(formName) {
var myForm = document.getElementById(formName);
var data = {};
for(var formElement of myForm.childNodes.values()){
if(formElement.name!= "undefined")
{
var key = formElement.name
var value = formElement.value
data[key] = value
}
}
var xhr = new XMLHttpRequest();
xhr.open("POST", myForm.action, true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.send(JSON.stringify(data));
}