【问题标题】:Response is always null after ajax-submit and bootsrap modal dialog doesn't closeajax-submit 和引导模式对话框未关闭后响应始终为空
【发布时间】:2013-02-12 18:29:36
【问题描述】:

通过 AJAX 和 Web 服务提交表单的 Java 脚本

$('#btnSignup').click(function(){ 
            var user = {"id": 10, "firstName": $('#firstName').val(), "lastName":     $('#lastName').val(), "age": 69, "freeText": "55555", "weight": 55};

            $.ajax({
            type: "POST",
            contentType: "application/json",
            url: "http://localhost:8080/testSoft/webresources/entity.user/",
            dataType: "json",
            data: JSON.stringify(user),
            //data: $("#register-form").serialize(), // serializes the form's elements.
            success: function(response) {
                alert('response: '+response);// This is always NULL?

            },
            error: function(data) {

                alert('addUser error: ');
            }
        });

    }); 

提交后没有关闭的模态对话框

<!-- Modal -->
        <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                <h3 id="myModalLabel">Sign Up</h3>
            </div>
            <div class="modal-body">
                <form id="register-form" onsubmit="return false;"> 


                    <div class="register-form-block">
                        <input type="text" value='Your first name' name="firstName" id="firstName" onclick="this.value = ('')"/>
                    </div> 


                    <div class="register-form-block">
                        <input type="text" value='Your surname' name="lastName" id="lastName" onclick="this.value = ('')" />
                    </div>

                    <div class="register-form-block">
                        <input type="text" value='Username' name="username" id="username" onclick="this.value = ('')"/>
                    </div>
                    <div class="register-form-block">
                        <input type="password" value='Password' name="password" id="password" onclick="this.value = ('')"/>
                    </div>
                    <div class="register-form-block">
                        <input type="password" value='Password again' name="passwordagain" onclick="this.value = ('')"/>
                    </div>
                    <!--a href="javascript:doRegister();" class="register-button" id="btnAddUser" >Register</a-->
                    <br/>
                    <button type="button" class="btn btn-primary btn-large" id="btnSignup">Register</button>


                </form>
            </div>

        </div>

问题

1) 为什么响应总是 NULL?请求正在通过 Web 服务成功地将数据添加到数据库。

2) 为什么提交表单后模态对话框没有关闭?我想关闭对话框并更新一个 div 并告诉用户注册没问题。

3) 如何在无误提交后告诉服务器转到不同的页面,如 www.google.com 或我的应用程序中我的网络服务器中的另一个页面,如thankYou.html? 我在 Jquery + Ajax 方面的学习曲线很平坦 :( 这让我抓狂。

感谢您的帮助! 萨米人

【问题讨论】:

    标签: jquery twitter-bootstrap modal-dialog response form-submit


    【解决方案1】:

    1) 你有没有从服务器端发回任何东西?

    2) 您可能必须通过函数调用手动关闭它。

    3) window.location = 'http://google.com';

    【讨论】:

    • 感谢您的回答! 1) 响应正文为空。 2)我试图找到类似成功的东西:function(response){$('#myModal')。没有什么可以结束的吗? 3)所以在成功提交后我可以将window.location..添加到成功:
    • 我最终在成功提交成功后隐藏了整个 div:function(response) {$('#myModal').hide()};它似乎正在工作。 POST成功后应该还有什么吗?我不知道...----->这不是一个解决方案,使用它时主窗口是“灰色/禁用”
    猜你喜欢
    • 1970-01-01
    • 2020-02-12
    • 2011-09-17
    • 2015-05-17
    • 2021-12-23
    • 2016-03-27
    • 2018-12-18
    • 1970-01-01
    • 2019-09-12
    相关资源
    最近更新 更多