web api 2 404(未找到)GET Ajax功能

时间:2017-03-06 22:08:47

标签: jquery ajax asp.net-web-api

您好我有两个输入的简单验证功能 我在" IF"中使用此功能我的Ajax函数,我得到404错误

但当我删除这个简单的" IF"我的AJAX功能完美无缺,我想要一些帮助

    function signInValidation(userNameLogin, passwordLogin) {
    if (userNameLogin == "" || passwordLogin == "") {
        $(document).ready(function () {
            $("#effect").fadeIn(1000);
            $("#effect").fadeOut(2000);
        })
    }
}

我有AJAX GET的这个功能

    function GetUserLoginDetails() {
    $(document).ready(function () {
        $('#logInBtn').click(function (e) {

            var UserName = $('#_logInUserName').val();
            var Password = $('#_logInPassword').val();

            if (signInValidation(UserName, Password)){
                $.ajax({
                    url: 'http://localhost:56267/api/Users/GetUser' + '/' + UserName + '/' + Password,
                    type: 'Get',
                    dataType: 'json',
                    contentType: "application/json",
                    success: function (data, textStatus, xhr) {
                        console.log(data);
                        window.location.replace("http://localhost:59472/Views/UserPage.html");
                    },
                    error: function (xhr, textStatus, errorThrown) {
                        console.log('Error in Operation');
                    }
                })
            }
            e.preventDefault();
        })
    })
}

1 个答案:

答案 0 :(得分:0)

您的ajax未运行的原因是由于signInValidation没有返回任何内容,以下可能是您应将signInValidation方法修改为:

function signInValidation(userNameLogin, passwordLogin) {
    if (userNameLogin == "" || passwordLogin == "") {
        $("#effect").fadeIn(1000);
        $("#effect").fadeOut(2000);
        return false;
    }
    else{
        return true;
    }
}

如果设置了用户名和密码,您的signInValidation方法现在将返回true,否则,它将返回false,这将在您的if语句中进行检查。

此外,$(document).ready()不应以您使用它的方式使用。文档加载后调用$(document).ready(),不需要在signInValidation方法中使用。您可以阅读更多相关信息here