在调试模式下工作良好,但返回错误“找不到资源”。在释放模式下

时间:2019-03-27 04:29:52

标签: ajax asp.net-mvc

我的项目中有一个带有ajax请求的登录表单。我的项目在调试模式下可以正常运行,但是当我将其发布到IIS并尝试登录时,它显示Server Error in '/gate_control_system' Application. The resource cannot be found. Description: HTTP 404.。所请求的网址正确,但仍然出现错误。

我在Google上找到了解决方案,但是没有运气,我已经在stackoverflow中尝试了相同的问题,但是没有任何解决方案。

这是我的代码。

查看

<div class="form-inner" style="border-radius: 10px;">
                    <div class="logo"><strong class="text-primary">Gate Control System</strong></div>
                    <p>What's this?.</p>
                    <div class="text-left form-validate">
                        <div class="form-group-material">
                            <input id="username" type="text" name="loginUsername">
                            <label for="username" class="label-material">Username</label>
                        </div>
                        <div class="form-group-material">
                            <input id="password" type="password" name="loginPassword">
                        </div>
                        <div class="form-group text-center">
                            <button onclick="login()" class="btn btn-primary">Login</button>
                        </div>
                      </div>
                </div>

JavaScript

function login() {
            var username = document.getElementById("username");
            var password = document.getElementById("password");
            if (!username.value) {
                $(username).validationEngine('validate');
                return;
            }
            if (!password.value) {
                $(password).validationEngine('validate');
                return;
            }

            $.ajax({
                url: '@Url.Action("login","Login")',
                type: "POST",
                dataType: "JSON",
                data: {
                    "username": username.value,
                    "password": password.value
                },
                success: function (res) {
                    console.log(res);
                    if (res != null) {
                        window.location.reload();
                    } else {
                        alertify.error("Username and password do not match.");
                    }
                },
                error: function (er) {
                    alertify.error("Error: " + er);
                }
            });


        }

LoginController

        [HttpPost]
        public ActionResult login(Users data)
        {
            Users list = new Users();

            using (DbModels db = new DbModels())
            {

                list = db.Users.SingleOrDefault(x => x.username == data.username && x.password == data.password);

                if( list != null)
                {
                    Session["logged_in"] = list.id;
                }

            }

            return Json(list);
        }

我不知道为什么它在发布模式下不起作用,但在使用Visual Studio 2017的调试模式下能很好地工作

我已经为所有人设置了权限,希望可以解决此问题,但是没有运气。如何解决该图像中显示的问题?请帮忙 error image

0 个答案:

没有答案