ASP.NET MVC 500(内部服务器错误)与 AJAX 发布方法

iklwldmw  于 2022-12-27  发布在  .NET
关注(0)|答案(2)|浏览(163)

I'm newbie in asp.net mvc, I try to create a post data using ajax, when in the development is run well, but when I try to publish web in server I get the error when post data, the error like this POST https://example.com/login-testing 500 (Internal Server Error) . I try to look for many examples but fail all.
这是我的代码,也许你可以在我的代码中找到任何问题:
index.cshtml中的JS脚本

function login() {
            var email = $('#input-email').val();
            var password = $('#input-password').val();

            if (email && password) {
                $.ajax({
                    url: '@Url.Action("LoginTesting", "Auth")',
                    type: 'POST',
                    data: JSON.stringify({
                        email: email,
                        password: password
                    }),
                    dataType: 'json',
                    contentType: 'application/json',
                    success: function (data){
                        console.log(data);
                        if (data == 1) {
                            window.location.href = '@Url.Action("Index", "Home")';
                        } else {
                            $('#login-warning').show();
                        }
                    },
                    error: function (data) {
                        $('#login-warning').show();
                    }
                });
            } else if (!email) {
                $('#text-danger-email').show();
            } else if (!password) {
                $('#text-danger-password').show();
            }
        }

控制器

[Route("login-testing")]
        public JsonResult LoginTesting(LoginViewModel smodel)
        {
            var email = smodel.email;
            var password = smodel.password;

            DBHandle sdb = new DBHandle();
            var account = sdb.GetLoginVerify(email);
            if (account.password != null)
            {
                if (BCrypt.Net.BCrypt.Verify(password, account.password ))
                {
                    var detail = sdb.GetUserDetail(account.id);
                    if (detail != null)
                    {
                        Session["is_login"] = true;
                        Session["id"] = detail.id;
                        Session["fullname"] = detail.fullname;
                        Session["id_levels"] = detail.id_levels;
                        Session["levels"] = detail.levels;

                        return Json(1);
                    }
                    else
                    {
                        return Json(2);
                    }
                }
                else
                {
                    return Json(3);
                }
            }
            else
            {
                return Json(4);
            }
        }

请任何人帮助我解决这个问题。
谢谢。

olhwl3o2

olhwl3o21#

内部服务器错误可能意味着您的program.cs文件有问题。它们的放置顺序很重要,不正确的放置可能会导致这些错误。

drnojrws

drnojrws2#

500内部服务器也意味着,你的代码有问题,根据我转到Chrome开发工具,然后点击网络选项卡,在该点击XHR选项卡

  • 您的API调用必须位于红色突出显示的文本(由于其500内部服务器错误),单击它,右侧窗口将出现,然后单击预览选项卡,您可能会看到导致问题的代码行

您还可以调试代码,逐行检查代码并检查错误。

相关问题