繁体   English   中英

ASP.NET MVC 500(内部服务器错误)与 ajax post 方法

[英]ASP.NET MVC 500 (Internal Server Error) with ajax post method

我是 asp.net mvc 的新手,我尝试使用 ajax 创建发布数据,当开发运行良好时,但是当我尝试在服务器中发布 web 时,发布数据时出现错误,错误如下POST https://example.com/login-testing 500 (Internal Server Error) 我试图寻找许多例子,但都失败了。

这是我的代码,也许您可以在我的代码中找到任何问题:

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();
            }
        }

controller

[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);
            }
        }

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

谢谢。

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

500 内部服务器也意味着,根据我的说法,您的代码有问题 Go 到 Chrome 开发工具并单击网络选项卡,在该选项卡中单击 XHR 选项卡

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

也可以Debug the Code,逐行单步执行代码,检查哪里出了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM