代码之家  ›  专栏  ›  技术社区  ›  Arad

Ajax有错误,但action方法中没有异常

  •  0
  • Arad  · 技术社区  · 6 年前

    我的网站(ASP.NET MVC)上有一个注册表,它使用Ajax将数据发送到名为“注册”的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();
        }
    

    但当我单击submit按钮时,它总是在Ajax的“错误”部分运行代码,而action方法中没有任何异常,它会在表中插入数据,一切正常。现在我不明白为什么总是执行“错误”部分!我做错了什么?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Antipod    6 年前

    在操作方法中尝试以下操作

    return Json("OK");
    

    而不是

    return new JsonResult();