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