淘汰 asyncCommand / Ajax MVC ActionResults
Knockout asyncCommand / Ajax MVC ActionResults
我对前端开发以及我正在从事的项目(错误修复)都很陌生。我正在使用 Knockout/MVC ActionResults。
我的任务是更改一个表单,使其不允许双击提交,我添加了基本的 Jquery 来禁用按钮,但被告知它需要使用 asyncCommand。
然而,我注意到的是,所有使用此示例的示例都 return 一个 Json 结果等。我的将是一个操作结果。
我想知道我是否需要更改 MVC 操作结果,或者是否还有其他我没有看到的方法。
我希望我能做类似的事情:
HTML
<button class="btn btn-action" data-bind="command: create, activity: create.isExecuting">Create</button>
JS
model.create = ko.asyncCommand({
execute: function (complete) {
$.ajax({
type: 'POST',
url: "/account/create",
data: ko.toJSON(data),
contentType: 'application/json; charset=utf-8',
});
complete();
},
canExecute: function (isExecuting) {
return !isExecuting;
}
});
控制器
public ActionResult Create(Model model, int versionId)
{
if (success)
{
return Redirect("/accounts");
}
else
{
return View(model);
}
}
这真的会发生吗?
谢谢,
克莱尔
我的解决方案是将 ActionResult 更改为 return,并将值更改为 AJAX。
我对前端开发以及我正在从事的项目(错误修复)都很陌生。我正在使用 Knockout/MVC ActionResults。
我的任务是更改一个表单,使其不允许双击提交,我添加了基本的 Jquery 来禁用按钮,但被告知它需要使用 asyncCommand。
然而,我注意到的是,所有使用此示例的示例都 return 一个 Json 结果等。我的将是一个操作结果。
我想知道我是否需要更改 MVC 操作结果,或者是否还有其他我没有看到的方法。
我希望我能做类似的事情:
HTML
<button class="btn btn-action" data-bind="command: create, activity: create.isExecuting">Create</button>
JS
model.create = ko.asyncCommand({
execute: function (complete) {
$.ajax({
type: 'POST',
url: "/account/create",
data: ko.toJSON(data),
contentType: 'application/json; charset=utf-8',
});
complete();
},
canExecute: function (isExecuting) {
return !isExecuting;
}
});
控制器
public ActionResult Create(Model model, int versionId)
{
if (success)
{
return Redirect("/accounts");
}
else
{
return View(model);
}
}
这真的会发生吗?
谢谢,
克莱尔
我的解决方案是将 ActionResult 更改为 return,并将值更改为 AJAX。