Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从html表单发送json_Html_Json_Spring_Kotlin - Fatal编程技术网

如何从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> &

我正试图从我的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>
    <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
,该按钮执行以下操作:

  • 通过DOM访问表单数据
  • 访问表单数据的键值对
  • 将对象转换为JSON
  • 发送帖子,例如使用
    XMLHttpRequest

  • 问题是您需要包含一些客户端JavaScript,以将表单中的POST数据作为JSON对象发送

    您可以通过创建一个JavaScript
    函数
    来实现这一点,该函数称为submit按钮的
    onclick
    ,该按钮执行以下操作:

  • 通过DOM访问表单数据
  • 访问表单数据的键值对
  • 将对象转换为JSON
  • 发送帖子,例如使用
    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));
    }