Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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
Javascript 大模型的API后期调用,需要一些指导_Javascript_Jquery_Asp.net Mvc_Api - Fatal编程技术网

Javascript 大模型的API后期调用,需要一些指导

Javascript 大模型的API后期调用,需要一些指导,javascript,jquery,asp.net-mvc,api,Javascript,Jquery,Asp.net Mvc,Api,我有一个相当大的表单(50个字段),需要将其传递到API调用中 在javascript文件中执行此操作将非常大,从而将表单上的所有数据序列化到适当的模型中 是否可以调用控制器,并使用该控制器的模型将其传递到api url 基本上,我想知道一种简单的方法来获取表单数据并根据模型将其转换为序列化数据 谢谢 编辑:简单的意思是我不必接受每个表单输入并用它们创建模型 我现在的代码基本上如下所示,但我需要填写一系列字段(我没有尝试过任何其他方法) jQuery有一个可以使用$(“#myForm”)的函数

我有一个相当大的表单(50个字段),需要将其传递到API调用中

在javascript文件中执行此操作将非常大,从而将表单上的所有数据序列化到适当的模型中

是否可以调用控制器,并使用该控制器的模型将其传递到api url

基本上,我想知道一种简单的方法来获取表单数据并根据模型将其转换为序列化数据

谢谢

编辑:简单的意思是我不必接受每个表单输入并用它们创建模型

我现在的代码基本上如下所示,但我需要填写一系列字段(我没有尝试过任何其他方法)


jQuery有一个可以使用$(“#myForm”)的函数


(虽然50表单字段听起来相当大。您可能想重新考虑您的设计,但可能有一个有效的用例)

javascript MV*框架在这里很有用(我最熟悉angular)。使用angular,您可以在UI元素和底层javascript模型表示(可以通过$http服务发送到Web API)之间定义绑定

这是一种与语言无关的方法来迭代元素并构建模型。这项工作做得既快又脏,还有很大的改进空间(即使用addEventListener、attachEvent、onclick等)——但jquery可以为您处理大部分这项工作,因此建议您继续使用它。这可以很容易地转换为jQuery。。。javascript迭代输入元素并将它们添加到模型对象中。如果需要,可以通过AJAX发送此对象。该示例仅将其输出到div占位符

JavaScript:

document.getElementById("submitMe").onclick = function () {
    var inputs = document.getElementsByTagName("input");
    var model = {};
    for (var i = 0, len = inputs.length; i < len; i++) {
        var elem = inputs[i];
        model[elem.name] = elem.value;
    }

    document.getElementById("jsonText").innerHTML = JSON.stringify(model);
};
document.getElementById(“submitMe”).onclick=function(){
var inputs=document.getElementsByTagName(“输入”);
var模型={};
对于(变量i=0,len=inputs.length;i
HTML:




提交

您能否向我们展示您的现有代码,以及您想用它做什么(通过代码向我们展示这两种方法?)还有,“简单”是什么意思?“简单”是一个相当主观的术语。@GeorgeStocker更新了我的问题@Html.Raw(Json.Encode(Model))是否会在客户端上呈现不正确,因为它发生在服务器端,并且此时模型没有填充的表单值?
$("#submit").click(function () {
            var myData = $("#myForm").serialize() 
            $.ajax({
                url: "http://localhost:49493/api/Values",
                type: "Post",
                data: myData, 
                //instead of 3 fields, I would have 50
                contentType: 'application/json; charset=utf-8',
                success: function (data) { },
                error: function () { alert('error'); }
            });
        });
document.getElementById("submitMe").onclick = function () {
    var inputs = document.getElementsByTagName("input");
    var model = {};
    for (var i = 0, len = inputs.length; i < len; i++) {
        var elem = inputs[i];
        model[elem.name] = elem.value;
    }

    document.getElementById("jsonText").innerHTML = JSON.stringify(model);
};
<input type="text" name="name"><br>
<input type="text" name="address"><br>
<input type="text" name="dob"><br>
<button id="submitMe">Submit</button>
<br>
<div id="jsonText"></div>