[英]Why is my AJAX call success function not firing a java script alert?
$.ajax({
url: '../api/notifications/deleteNotification?userId=' + userId + '¬ificationId=' + notificationId,
type: 'DELETE',
success: function()
{
CreateNotificationTree(userId);
alert('Delete successful.');
},
failure: function()
{
alert('Delete failed.');
}
});
函数CreateNotificationTree(userId);
在DOES上方执行ajax调用的成功函数中。 但是,警报不会在之后触发。 有人知道为什么吗? 我也尝试过使用多个浏览器。
编辑-发现执行AJAX调用时遇到了此错误:
Uncaught TypeError: Cannot read property 'uid' of undefined kendo.web.min.js:23
(anonymous function) kendo.web.min.js:23
p.extend.each jquery.min.js:2
p.fn.p.each jquery.min.js:2
g.extend._attachUids kendo.web.min.js:23
g.extend.init kendo.web.min.js:22
(anonymous function) kendo.web.min.js:9
p.extend.each jquery.min.js:2
p.fn.p.each jquery.min.js:2
$.fn.(anonymous function) kendo.web.min.js:9
CreateNotificationTree NotificationsTreeView.js:17
(anonymous function) NotificationsTreeView.js:60
k jquery.min.js:2
l.fireWith jquery.min.js:2
y jquery.min.js:2
d
将错误记录到控制台。
如果ajax失败方法,您将看不到警报,因为jQuery
无法识别failure
方法。
使用error
回调记录错误。
还请使用console.log
而不是令人讨厌的alert
并停止执行流程
failure: function(){
alert('Delete failed.');
}
应该是
error: function(){
alert('Delete failed.');
}
并使用done
和fail
代替success
和error
回调,因为后者在版本1.8
已弃用
$.ajax({
url: '../api/notifications/deleteNotification?userId='
+ userId + '¬ificationId=' + notificationId,
type: 'DELETE'
}).done(function () {
CreateNotificationTree(userId);
console.log('Delete successful.');
}).fail(function (jqXHR, status, error) {
console.log("Error : " + error);
});
使用传递给回调的arguments
,您将可以查明错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.