未捕获类型错误:对象`function()`没有方法'call'?

时间:2013-07-10 22:15:52

标签: javascript jquery function object web

我有一个使用beforeSendsuccessfailure的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!

2 个答案:

答案 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),