【发布时间】:2011-10-06 15:01:50
【问题描述】:
我正在使用 ajax post 方法来发布表单,例如:-
$(函数 () {
$('#BtnName').submit(function () { $.ajax({ url: 'Home/Index', type: "POST", data: $(this).serialize(), dataType: "json", async:false, contentType: 'application/json; charset=utf-8', success: function (data) { var message = data.Result; $("#Result").html(message); }, }); return false; }); });
在我正在返回的动作控制器处
return Json(new { Result = "Success" }, JsonRequestBehavior.AllowGet);
我无法在 div 中获得结果;而不是将整个渲染页面作为完整文件返回。请告诉我应该怎么做才能在页面上显示结果并且还想在同一页面上而不清除表单。
【问题讨论】:
-
显示所有控制器代码。
-
我只是在数据库中插入值,并在控制器末尾使用 return Json(new { Result = "Success" }, JsonRequestBehavior.AllowGet);
-
您在 ajax 方法中调用 home/index。你确定它与返回 json 的方法相同吗?
-
是的,该方法将 JsonResult 作为公共 JsonResult 索引(FormCollection frm)返回
-
如果你的
POST'ing 到你的操作方法,你为什么需要JsonRequestBehavior.AllowGet?你不需要那个。 Fiddler 显示从 HTTP POST 返回的内容是什么?
标签: c# jquery asp.net-mvc model-view-controller asp.net-mvc-2