ajax - Ajax PostBack:从控制器读取数据
问题描述
如何在我的 ajax 回发中从控制器读取数据?
我有一个 Razor 表格
@using (Html.BeginForm("CreateDocument", "Pages", FormMethod.Post, new { id = "createDocumentForm" }))
{
....
}
我在 JavaScript 中捕获了提交操作:
<script type="text/javascript">
$(document).ready(function () {
$("#createDocumentForm").submit(
function () {
showWaitMode();
$.ajax({
data: ("#createDocumentForm").serialize,
success: (e) => {
console.log(e);
},
error: (errorResponse) => {
alert(errorResponse)
}
})
return false;
}
);
});
</script>
在我的控制器中,我点击了这个方法:
public ActionResult CreateDocument(NotatFletModel model)
{
var reuslt = new
{
Staus = true,
GoDocumentId = model.ContactId.ToString(),
ErrorMessage = model.DocumentKindId,
};
return Json(reuslt);
}
但是在我的 Ajax 成功函数中,我想从我的控制器中获取数据。我希望它在我的参数 e 中,但它不是
简而言之:我如何进行 Ajax 发布并读取从控制器发回的数据
解决方案
使用 ajax 签出我的 Form Post 代码
网页:
@using (Html.BeginForm("CreateDocument", "Pages", FormMethod.Post, new { id = "createDocumentForm" }))
{
....
}
查询:
$("#createDocumentForm").submit(
function (e) {
showWaitMode();
e.preventDefault();
var form = $(this);
var url = form.attr('action');
$.ajax({
url: url,
type: 'POST',
data: form.serialize(), // serializes the form's elements.
success: function (data) {
console.log(data); // show response
},
error: (errorResponse) => {
alert(errorResponse)
}
})
return false;
}
);
控制器 :
//You can Use FormCollection also to get data
//public ActionResult CreateDocument(FormCollection fc) {
[HttpPost]
public ActionResult CreateDocument(NotatFletModel model) {
//your logic
return Json(model, JsonRequestBehavior.AllowGet);
}
推荐阅读
- python - Python:带有参数的队列方法wait_for谓词
- python - Python MySQL连接到数据库错误
- javascript - 仅在尚未打开的情况下打开新选项卡
- c++ - 如何比较指针和字符串的向量?
- eclipse - 我们可以使用 MDSE 方法实现关于冲突 NFR 的 UML 配置文件吗?
- python-3.x - 如何在 Python GLib 中设置多个标志?
- java - 更改密钥库中私钥的证书
- github - why is there a GitHub folder on my computers boot drive?
- sql - 两个表上的 Postgresql 交叉表
- mysql - 存储过程返回不正确的值