0

私のスクリプトでは、ユーザー名がデータベースに存在するかどうかを確認するためにデータを送信しますが、とにかくユーザーが作成されます。コントローラーが正常に動作することを確認しました。結果を正しい方法で処理していますか?

私のスクリプト

 $( "#dialog-form" ).dialog({
            autoOpen: false,
            height: 600,
            width: 350,
            modal: true,
            buttons: {
                "Create an account": function() {
                    var bValid = true;
                    allFields.removeClass( "ui-state-error" );                                               
                    var values = $("form").serialize();
                    $.ajax({
                        type: "POST",
                        url: "/checkLogin",
                        data: values,
                        success: function(result) {
                            bValid = result == 'true';}})
                    if ( bValid ) {
                        var values = $("form").serialize();
                        $.ajax({
                            type: "POST",
                            url: "${pageContext.request.contextPath}/addUser",
                            data: values
                        })
                        $( "#users tbody" ).append( "<tr>" +
                                "<td>" + login.val() + "</td>" +
                                "<td>" + fname.val() + "</td>" +
                                "<td>" + lname.val() + "</td>" +
                                "<td>" + bday.val() + "</td>" +
                                "<td>" + role.val() + "</td>" +
                                "<td>"+ "<a href=\"/edit/" + login.val() + "\">Edit   </a>"
                                + "<a href=\"/delete/" + login.val() + ".json\">Delete</a></td>" +
                                "</tr>" );
                        $( this ).dialog( "close" );
                    }
                },
                Cancel: function() {
                    $( this ).dialog( "close" );
                }
            },
            close: function() {
                allFields.val( "" ).removeClass( "ui-state-error" );
            }
        });
        $( "#create-user" )
                .button()
                .click(function() {
                    $( "#dialog-form" ).dialog( "open" );
                });
    });

これが私のコントローラーです

@RequestMapping(value="/checkLogin", method=RequestMethod.POST)
@ResponseBody
public boolean check(@RequestParam("login") String login) {
    return (userService.findByLogin(login) == null);
}

これが私のhtmlです

<div id="dialog-form" title="Create new user">    
<form:form >
    <fieldset>
        <label for="login">Login</label>
        <input type="text" name="login" id="login" class="text ui-widget-content ui-corner-all" />
        <label for="password">Password</label>
        <input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />            
    </fieldset>
</form:form>
</div>
<button id="create-user">Add user</button>
4

1 に答える 1