这是我的jQuery
$.getJSON('/users/delete_preapproval', {
preapproval: $(this).attr('id'), id: $(this).attr('id') },
function(data) {
complete: function(){
console.log('ssss');
}
});
一切正常,服务器处理请求,但完成无效...我没有得到我的console.log显示。在成功的ajax调用之后,我基本上需要完成或成功触发
编辑:这是我的整个点击事件:
$('.delete_preapproval').click(function(e){
var count = $(this).closest('.request_count').attr('data');
if(count > 0){
if(count == 1){
var plural = 'request';
}else{
var plural = 'requests';
}
if (confirm('Are you sure you want to delete this preapproval you have ' + count + ' active ' + plural)){
$.getJSON('/users/delete_preapproval', {
preapproval: $(this).attr('id'),
id: $(this).attr('id')
},
function(data) {
console.log('ssss');
});
}else{
return false;
}
}else{
$.getJSON('/users/delete_preapproval', { preapproval: $(this).attr('id'), id: $(this).attr('id') }, function(data) {
window.location.reload();
});
}
e.preventDefault();
});
答案 0 :(得分:2)
实际上你应该得到一个语法错误。删除complete:
:
$.getJSON('/users/delete_preapproval', {
preapproval: $(this).attr('id'),
id: $(this).attr('id')
},
function(data) {
console.log('ssss');
});
complete:
正在此行创建label [docs]。删除标签将是:
function(data) {
function(){
console.log('ssss');
}
}
你看到在调用外部函数时从不执行内部函数(除语法错误外)。
更新:还要确保您返回的数据是正确的JSON。否则jQuery无法解析它,也不会调用回调。
答案 1 :(得分:1)
您需要删除complete:和之后的函数调用。所以更像是:
$.getJSON('/users/delete_preapproval', {
preapproval: $(this).attr('id'), id: $(this).attr('id') },
function(data) {
console.log(data);
});
答案 2 :(得分:1)
你为什么不试试
$.ajax({
type: 'post',
url: "/users/delete_preapproval",
dataType: 'json',
data: {preapproval : $(this).attr('id'), id : $(this).attr('title')},
complete: function () {
console.log('ssss');
}
});
这应该有用......