我的控制器操作(在AjaxMethodsController中)是:
public ActionResult CreateGroup(String groupName)
{
ApplicationUser user;
var userName = User.Identity.Name;
using (DAL.GDContext context = new DAL.GDContext())
{
user = context.Users.FirstOrDefault(u => u.UserName == userName);
if (user != null)
{
var group = new Group();
group.GroupName = "test";
group.Members.Add(user);
context.Groups.Add(group);
context.SaveChanges();
}
}
return View();
}它应该简单地创建具有指定组名的组。我的ajax和jquery代码是:
$(function () {
$('#CreateGroup').on("click", function () {
var groupName = "testgroup";
$.ajax({
url: "/AjaxMethods/CreateGroup",
type: "POST",
data: JSON.stringify({ 'GroupName': groupName }),
dataType: "json",
cache: false,
contentType: "application/json; charset=utf-8",
success: function (data) {
alert("success");
},
error: function () {
alert("An error has occured!!!");
}
});
});
});它总是返回“错误发生了!”消息。此外,对于这个问题,如果未创建组,如何将其设置为始终返回为错误(可能是由于存在组名的原因)。我不想这页在.我应该使用JsonResult而不是ActionResult吗?我刚接触过ajax,大约一个小时,所以解释而不仅仅是代码会非常有帮助!谢谢!
更新1:新CreateGroup
public JsonResult CreateGroup(String GroupName)
{
ApplicationUser user;
var userName = User.Identity.Name;
using (DAL.GDContext context = new DAL.GDContext())
{
user = context.Users.FirstOrDefault(u => u.UserName == userName);
if (user != null)
{
var group = new Group();
group.GroupName = GroupName;
group.Members.Add(user);
context.Groups.Add(group);
context.SaveChanges();
}
}
string result = userName;
return Json(result, JsonRequestBehavior.AllowGet);
}发布于 2014-05-04 16:30:45
ajax调用将以使用它的方式接收视图的内容。如果您对将结果呈现为标记不感兴趣,您可能希望将Json中的数据返回给ajax请求。
string result="OK";
return Json(result,JsonRequestBehavior.AllowGet); https://stackoverflow.com/questions/23458626
复制相似问题