首页 > 解决方案 > 无法通过 ajax 发布请求在 asp.net mvc 中注册控制器

问题描述

我需要通过 ajax post 请求在 asp.net mvc 中注册控制器,但它抛出了一个错误。

$('#btnRegister').click(function () {
                var model = new Object();
                model.Email = $('#signup_email').val();
                model.Password = $('#signup_password').val();
                model.ConfirmPassword = $('#signup_confirm_password').val();
                $.ajax({

                    url: 'api/Account/Register',
                    method: 'POST',
                    contentType: "application/json",
                    data: JSON.stringify(model),
                    success: function () {

                        $('#successmodal').modal();
                    },
                    error: function (jqXHR) {
                        $('#divErrorText').text(jqXHR.responseText);
                        $('#divError').show('fade');

                    }
                });


            });

        });

下面是默认的 mvc 注册控制器

// POST api/Account/Register
        [AllowAnonymous]
        [Route("Register")]
        public async Task<IHttpActionResult> Register(RegisterBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };

            IdentityResult result = await UserManager.CreateAsync(user, model.Password);

            if (!result.Succeeded)
            {
                return GetErrorResult(result);
            }

            return Ok();
        }

模态显示传递的模型对象无效。在此处输入图像描述

标签: jqueryajaxasp.net-mvc

解决方案


推荐阅读