[英]knockoutJS - ajax form submitting twice
我有一个要提交两次的表格。
我已经通过类似的jQuery相关的问题看上去这里和这里和Google群组这里 ,但一直没能找到解决的办法。
由于我是Knockout.js的新手,也许我缺少明显的东西? 我想了解为什么会这样。 这是我所拥有的:
表格:
<form data-bind="submit: Save">
<div class="span11">
@foreach (var prop in ViewData.ModelMetadata.Properties)
{
@Html.Label(prop.PropertyName, new { @class = "attribute-label" })
@Html.TextBox(prop.PropertyName, "", new { data_bind = "value: " + prop.PropertyName + "" })
}
</div>
<br />
<button type="submit" class="btn" data-bind="enable: IsEnabled">Update
</button>
</form>
视图模型:
var viewModel = @Html.Raw(Json.Encode(Model));
viewModel.Save = function() {
$.ajax({
url: '@Url.Action("UpdateEmployee")',
contentType: 'application/json; charset=utf-8',
type: "POST",
data: ko.toJSON({ employee: viewModel }),
success: function(result) {
//...
},
error: function(xhr, ajaxOptions, thrownError) {
//...
}
});
};
$(function() {
ko.applyBindings(viewModel);
});
根据您向我们展示的代码,没有理由要提交两次。 可能发生的事情是,您还有一些其他的代码被调用,这些代码明确地调用Save()
函数,这使其看上去好像要提交两次。
我写了一个小提琴来模仿您所显示的内容,它没有您正在描述的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.