簡體   English   中英

AJAX不響應表單提交

[英]AJAX does not respond to form submission

我編寫了一個玩具程序來學習AJAX,該程序是將用戶注冊表格提交到Web服務器,但是服務器端的程序無法接收數據。 我猜錯誤是在以下使用jQuery的JS代碼上出現的:

$(document).ready(function() {
$('#registerForm').submit(function() {
    var formData = $('#registerForm').serialize();
    $.post('/admin/user/signup', formData, registerResults);
    },

    registerResults: function() {
            console.log("register success!");
        }  // end of registerResults

});  // end of ready

相應的html格式如下:

<form class="form-horizontal" role="form" id='registerForm' method='POST' action="/admin/user/signup">
        <div class="form-group">
                    <label class="col-sm-3 control-label" for="fullname">Fullname: </label>
                    <div class="col-sm-5">
                        <input class="form-control" type='text' id="fullname" name='fullname' placeholder="Full Name" />
                    </div>
        </div>

        <div class="form-group">
            <label class="col-sm-3 control-label" for="username">Username: </label>
            <div class="col-sm-5">
                <input class="form-control" type='text' id="username" name='username' placeholder="Username" />
            </div>
        </div>

        <div class="form-group">
            <input type='submit' value="Submit" class="register-form-button" form='user-create-form' />
        </div>
    </form>

有人可以使用jQuery幫助我處理我的JS代碼嗎? 非常感謝!

就像Felix所說的那樣,您的JavaScript語法無效。 打開JS控制台並刷新頁面,您將看到語法錯誤。

這是修復它的鏡頭:

$(document).ready(function () {

    $('#registerForm').submit(function() {
        var formData = $('#registerForm').serialize();
        $.post('/admin/user/signup', formData)
            .done(registerResults)
            .fail(registerError);
    });

    function registerResults() {
        console.log("register success!");
    }  

    function registerError() {
        console.log("There was an error");
    }

}); 

registerResults函數是基於格式的namespace函數,但是您只需要如下所示的標准函數。

$(document).ready(function () {
    $('#registerForm').submit(function () {
        var formData = $('#registerForm').serialize();
        $.post('/admin/user/signup', formData, registerResults);
    });

    function registerResults() {
        console.log("register success!");
    } // end of registerResults

}); // end of ready

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM