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

Javascript 验证对话框中未触发成功函数,javascript,jquery,Javascript,Jquery,下面是一些简单的JQuery/Javascript 尽管响应为200 OK,成功功能仍不启动 错误函数正在启动。虽然我不知道为什么。服务器端代码正确执行 我确实在控制台中收到了以下警告: event.returnValue is deprecated. Please use the standard event.preventDefault() instead. 代码如下: <script> window.verifyDelete = function(

下面是一些简单的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>

window.verifyDelete=函数(){
变量对话框=$(“#对话框确认”)。对话框(
{
可调整大小:false,
身高:300,
莫代尔:是的,
按钮:{
“删除所有项目”:函数(){
$(“#响应”).html(“”);
$.ajax({
键入:“POST”,
url:“/MyApp/reset”,
成功:window.updateJsonResponse,
错误:window.onErrorDisplayAlert,
数据类型:“json”,
异步:true
});
$(此).dialog(“关闭”);
},
“取消”:函数(){
$(此).dialog(“关闭”);
}
}
});
dialogBox.html(“以下项目将被永久删除且无法恢复:”
+“
  • 群体
  • 报告

” +“你确定吗?

”; }; window.updateJsonResponse=函数(){ $(“#response”).html(“数据库已成功重置”); }; window.onErrorDisplayAlert=函数(){ 警报(“Javascript很难调试!”); };
您的数据类型设置为“json”

如果服务器返回的内容类型不是JSON,尽管jQuery响应成功,jQuery会考虑错误。


欢迎来到javascript异常处理的静默世界

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

如果服务器返回的内容类型不是JSON,尽管jQuery响应成功,jQuery会考虑错误。


欢迎来到javascript异常处理的静默世界

您的
服务器端代码似乎返回了一个字符串或json以外的其他内容jquery将其视为错误,错误回调将被触发


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

服务器端代码似乎返回一个字符串或除json以外的其他内容,jquery将其视为错误,错误回调将被触发


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

您是否尝试过
success:function(data){$(“#response”).html(“数据库已成功重置”);},
?这些代码是否像加载事件处理程序一样包装在闭包中?如果是这样的话,
updateJsonResponse
将不会是全局的……请尝试
success:updateJsonResponse
。是否抛出任何错误?@UDB-是的,我试过了。@charlietfl-我更新了代码以使其更清晰。@Morre-我同意。我使它更加一致,范围更加明显。您是否尝试过
success:function(data){$(“#response”).html(“数据库成功重置”);},
?这些代码是否像加载事件处理程序一样包装在闭包中?如果是这样的话,
updateJsonResponse
将不会是全局的……请尝试
success:updateJsonResponse
。是否抛出任何错误?@UDB-是的,我试过了。@charlietfl-我更新了代码以使其更清晰。@Morre-我同意。我使它更加一致,范围更加明显。@Guido Anselmi:谢谢!就这样。默认情况下,我将其设置为text/html。这是另一个返回JSON的函数的复制粘贴。@Guido Anselmi:谢谢!就这样。默认情况下,我将其设置为text/html。这是另一个返回JSON的函数的复制粘贴。