我有一个使用beforeSend
,success
和failure
的AJAX请求,但当beforeSend
被点击时,它会将其视为对象而不是方法调用
这是AJAX:
$.ajax({
url: "@Url.Action("DeleteUser", "DataFeeds")/" + id,
method: 'post',
beforeSend: "deleting('" + id + "')",
success: "deleted('" + full + "','" + id + "')",
failure: "failed('" + id + "')"
});
只是为了踢,这是deleting()
方法:
function deleting(id) {
$('#btnDelete-' + id + ' span').html('Deleting...');
$('#btnDelete-' + id + ' span').prop('disabled', 'disabled');
}
这很简单,但我无法弄清楚为什么它将我的功能视为对象。
HALP!
答案 0 :(得分:1)
你需要在那里传递一个额外的匿名函数,否则你只需要分配一个字符串:
beforeSend: function(){ deleting(id) },
// same with the other methods...
答案 1 :(得分:0)
我可能会弄错,但我不认为你可以在那里给JQuery一个字符串。你可以通过讨论deleting
:
function deleting(id) {
return function() {
$('#btnDelete-' + id + ' span').html('Deleting...');
$('#btnDelete-' + id + ' span').prop('disabled', 'disabled');
}
}
和
beforeSend: deleting(id),