成功函数未在验证对话框中触发

时间:2013-11-24 20:00:24

标签: javascript jquery

这是一些简单的jQuery JQuery / Javascript。

尽管有200 OK响应,但成功功能仍未触发。

错误功能正在解雇。虽然我不知道为什么。服务器端代码正确执行。

我在控制台中收到此警告:

event.returnValue is deprecated. Please use the standard event.preventDefault() instead. 

以下是代码:

    <script>

        window.verifyDelete = function(){

            var dialogBox = $("#dialog-confirm").dialog(
                    {
                        resizable: false,
                        height: 300,
                        modal: true,
                        buttons: {
                            "Delete all items": function() {
                                $("#response").html( "" );

                                $.ajax({
                                    type: 'POST',
                                    url: '/MyApp/reset',
                                    success: window.updateJsonResponse,
                                    error: window.onErrorDisplayAlert,
                                    dataType: 'json',
                                    async: true
                                });

                                $(this).dialog("close");
                            },
                            "Cancel": function() {
                                $(this).dialog("close");
                            }
                        }
                    });
               dialogBox.html("<p>The following items will be permanently deleted and cannot be recovered:"
                            + "<ul><li>Groups</li><li>People</li><li>Reports</li></ul></p>"
                            + "<p>Are you sure?</p>");
        };

        window.updateJsonResponse = function(){
            $("#response").html( "The database was sucessfully reset." );
        };

        window.onErrorDisplayAlert = function(){
            alert( "Javascript is hard to debug!");
        };

    </script>

2 个答案:

答案 0 :(得分:1)

好像你的server side code return a string or something apart from json哪个 jquery会像错误一样,错误回调会被解雇。

尝试将数据作为 JSON对象从服务器端代码发送。确保检查Jquery的响应中的响应文本(成功/错误)以查看收到的内容,然后检查是否为json 。如果不相应地改变数据类型。

答案 1 :(得分:0)

您的数据类型设置为“json”。

如果服务器返回的内容类型不是json,尽管响应成功,JQuery会认为是错误。

欢迎来到javascript异常处理的无声世界!