Ajax 有错误但是action方法没有异常
Ajax has error but there's no exception in action method
我的网站 (ASP.NET MVC) 上有一个注册表单,它使用 Ajax 将数据发送到名为 "SignUp" 的 HttpPost 操作方法:
这是我的脚本(此代码将在提交表单时执行):
$.ajax({
url: 'SignUp',
type: 'POST',
dataType: 'JSON',
data: { name: $('#name').val(), email: $('#email').val(), password: $('#password').val() },
success: function (result) {
alert('Successful');
},
error: function (a) {
alert('Something went wrong!');
}
});
这是操作方法:
[HttpPost]
public JsonResult SignUp(string name, string email, string password)
{
//Generate Password's Hash and Salt:
Passphrase hashedPassword = PasswordHasher.Hash(password);
//Insert User Data in the Table 'User' in Database:
TodonetEntities database = new TodonetEntities();
User oUser = new User
{
Name = name,
Email = email,
Password = hashedPassword.Hash,
Salt = hashedPassword.Salt,
IsOnline = false,
RegisterDate = DateTime.Now
};
database.Users.Add(oUser);
database.SaveChanges();
//database.User_Insert(email, hashedPassword.Hash, hashedPassword.Salt, name, null, false, null, DateTime.Now);
return new JsonResult();
}
但是当我点击提交按钮时,它总是运行 Ajax 的 "error" 部分的代码,而 action 方法没有任何异常,它会插入数据table 一切正常。现在我不明白为什么 'error' 部分总是会被执行!我做错了什么?
在操作方法中尝试以下操作
return Json("OK");
而不是
return new JsonResult();
我的网站 (ASP.NET MVC) 上有一个注册表单,它使用 Ajax 将数据发送到名为 "SignUp" 的 HttpPost 操作方法: 这是我的脚本(此代码将在提交表单时执行):
$.ajax({
url: 'SignUp',
type: 'POST',
dataType: 'JSON',
data: { name: $('#name').val(), email: $('#email').val(), password: $('#password').val() },
success: function (result) {
alert('Successful');
},
error: function (a) {
alert('Something went wrong!');
}
});
这是操作方法:
[HttpPost]
public JsonResult SignUp(string name, string email, string password)
{
//Generate Password's Hash and Salt:
Passphrase hashedPassword = PasswordHasher.Hash(password);
//Insert User Data in the Table 'User' in Database:
TodonetEntities database = new TodonetEntities();
User oUser = new User
{
Name = name,
Email = email,
Password = hashedPassword.Hash,
Salt = hashedPassword.Salt,
IsOnline = false,
RegisterDate = DateTime.Now
};
database.Users.Add(oUser);
database.SaveChanges();
//database.User_Insert(email, hashedPassword.Hash, hashedPassword.Salt, name, null, false, null, DateTime.Now);
return new JsonResult();
}
但是当我点击提交按钮时,它总是运行 Ajax 的 "error" 部分的代码,而 action 方法没有任何异常,它会插入数据table 一切正常。现在我不明白为什么 'error' 部分总是会被执行!我做错了什么?
在操作方法中尝试以下操作
return Json("OK");
而不是
return new JsonResult();