这是一些简单的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>
答案 0 :(得分:1)
好像你的server side code return a string or something apart from json
哪个 jquery会像错误一样,错误回调会被解雇。
尝试将数据作为 JSON对象从服务器端代码发送。确保检查Jquery的响应中的响应文本(成功/错误)以查看收到的内容,然后检查是否为json 。如果不相应地改变数据类型。
答案 1 :(得分:0)
您的数据类型设置为“json”。
如果服务器返回的内容类型不是json,尽管响应成功,JQuery会认为是错误。
欢迎来到javascript异常处理的无声世界!