API POST调用带有大型模型,需要一些指导
API POST call with large model, need some guidance
我有一个相当大的表单(50个字段),我需要将它传递到API调用。
在javascript文件中这样做,将表单上的所有数据序列化到适当的模型中是相当大的。
是否有可能调用控制器,并使用该模型将其传递给api url?
基本上,我想知道一种简单的方法来获取我的表单数据,并将其转换为基于我的模型的序列化数据。
谢谢!
编辑:简单的意思是我不必接受每个表单输入并使用它们创建我的模型
我的代码现在基本上如下,但我需要填写一堆字段(我没有尝试过任何其他方式)
$("#submit").click(function () {
var name = $("#Name").val();
var address = $("#Address").val();
var dob = $("#DOB").val();
$.ajax({
url: "http://localhost:49493/api/Values",
type: "Post",
data: JSON.stringify([name, address, dob]),
//instead of 3 fields, I would have 50
contentType: 'application/json; charset=utf-8',
success: function (data) { },
error: function () { alert('error'); }
});
});
jQuery有一个函数可以使用$("#myForm").serialize()
http://api.jquery.com/serialize/$("#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'); }
});
});
(虽然一个50的表单字段听起来相当大。您可能想重新考虑您的设计,但也许有一个有效的用例)
javascript MV*框架可以在这里提供帮助(我最熟悉angular)。使用angular,你可以在UI元素和底层javascript模型表示(可以通过$http服务发送到你的Web API)之间定义一个绑定。
这是一种与语言无关的遍历元素和构建模型的方法。这是快速和肮脏的,有很大的改进空间(即使用addEventListener, attachEvent,然后onclick,等等),但jquery处理大部分的这些,所以我建议坚持使用它。这可以很容易地转换为jQuery…javascript遍历输入元素并将它们添加到模型对象中。如果需要,这个对象可以通过AJAX发送。该示例只是将其输出到一个div占位符。
http://jsfiddle.net/T9MyZ/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);
};
HTML: <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>
相关文章:
- 如何在视图模型contet更新更新上调用Jquery函数
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- 概念验证模型控制器调用正确的实例
- Odoo销售点如何访问模型并使用JS调用方法
- Ember.js-模型find()方法中的异步调用
- 在模型可用之前调用使用 app.filter 的自定义筛选器
- 如何在amd架构的模型(主干)中调用collection函数
- 在Knockout视图模型中调用jQuery插件是一种有效的模式
- Rails4:从Javascript调用的Action;t请参阅模型关联(NoMethodError)
- 主干中的比较器在添加新模型时需要排序调用
- 如何调用索引/索引路由'用户后的s模型挂钩's的授权
- 调用ko.applyBindings后,向Knockout视图模型添加新属性
- 从子挖空视图模型调用导航函数
- 从 ko.computed 语句中的视图模型调用视图模型时遇到问题
- 主干集合视图添加未使用模型调用
- 客户端对象模型调用context.executeQueryAsync:将项添加到列表后,在onQuerySuccesse
- knockoutjs从根视图模型调用子视图模型中定义的函数
- 基于DropDownList的值和模型调用Action方法
- 从Ruby on Rails模型调用JavaScript函数
- Silverlight 4 MVVM:从视图模型调用Javascript函数