gpt4 book ai didi

javascript - Ajax 数据未到达 Controller ?为什么?

转载 作者:行者123 更新时间:2023-11-28 01:43:37 25 4
gpt4 key购买 nike

我正在使用 mvc4 应用程序。我使用.cshtml文件开发了一个表单,它继承了模型并具有相应的 Controller 操作。我正在使用 ajax jquery 提交表单,例如,

          var body=$('#formId').serialize();
$.ajax({
url: submitAction,
type: "POST",
datatype: "json",
data: body,
success: function (data) {
if (data != null) {
alert("success");
}
});

“body”很好,它具有序列化数据,submitAction 是保存我的 Controller 操作的 var,并且控制被传输到那里。

编辑:

我的 Controller 看起来像,

    public JsonResult(ParentModel model) /*here model always hold null values, WHY??*/
{
//stmts..
return Json(new {success=true}, JsonRequestBehaviour.AllowGet);
}

但是,我的 Controller 操作的参数显示空值。有人可以告诉我可能是什么错误以及我该如何解决它吗?

最佳答案

   $.ajax({
url: submitAction,
type: "POST", <-- you make post, but asp.net mvc controller receives default GET request
data: { model: body},

[HttpPost]
public JsonResult(string model) //<--now you pass string and to Deserialize in ParentModel
{
JavaScriptSerializer jss= new JavaScriptSerializer();
ParentModel pmodel = jss.Deserialize<ParentModel >(model);

return Json(new {success=true}, JsonRequestBehaviour.AllowGet);
}

尝试编辑您请求中的data:部分,删除数据类型:“json”

并将类型model参数编辑为字符串

关于javascript - Ajax 数据未到达 Controller ?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20584153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com