Ajax PUT方法没有命中服务器

时间:2017-01-24 00:52:16

标签: javascript jquery html ajax

我有一个登录表单,我尝试使用PUT方法登录以存储登录的用户名。但由于某种原因,它没有击中服务器而没有登录。你能帮忙吗?

我希望这会转到登录页面而无法执行此操作。请帮忙

以下是相同的代码:

HTML:

<form name="login" class="login-form request-form form-horizontal" method="post" id="login-user">
    <p class="pl-sign">Please Sign In</p>
    <div class="form-group" id="login-fields">
        <div class="cols-sm-10">
            <div class="input-group">
                <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"><span class="text--white glyphicon glyphicon-user"></span></i>
                </span>
                <input type="text" name="user" id="user" placeholder="Username" class="form-control" required/>
            </div>
        </div>
    </div>
    <div class="form-group" id="login-fields">
        <div class="cols-sm-10">
            <div class="input-group">
                <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"><span class="text--white glyphicon glyphicon-lock"></span></i>
                </span>
                <input type="password" name="pass" id="pass" placeholder="Password" class="form-control" required/>
            </div>
        </div>
    </div>
    <input class="view sign-in-app" type="submit" value="Sign In" id="submit-login" />
    <div class="forgot-up">
        <a href="#">forgot username/password ?</a>
    </div>
</form>

jQuery的:

$("#login-user").validate({

    submitHandler: userLogin

});
function userLogin() {

    var username = $('#user').val();
    var password = $('#pass').val();

    var data = $("#login-user").serialize();


    var userUrl = 'http://website.com/DatabaseName/Tablename/' + username + '/login?' + password + '';

    console.log(data);

    $.ajax({

        url: userUrl,
        type: 'PUT',
        data: data,

        success: function(data) {
            if (data == 0) {

                window.location.href = "http://website.com/page2.html";


            } else if (data == -1) {

                ("#error").html('<span class="error">Incorrect username or password</span>');

            } else {

                $("#error").fadeIn(1000, function() {

                    $("#error").html('<div class="alert alert-danger"><span class="glyphicon glyphicon-info-sign"></span> &nbsp; ' + data + ' !</div>');

                });
            }
        }
    });

}

1 个答案:

答案 0 :(得分:0)

如果您不希望表单提交到新页面(或者如果表单中未定义操作则重新下载当前表单),请对传入的事件中的preventDefault()方法使用事件处理程序

function userLogin(e) {
    e.preventDefault();
... rest of your code

我假设

submitHandler: userLogin
验证对象中的

将传递事件对象

相关问题