TypeError - "回调不是函数"

时间:2017-04-21 21:10:48

标签: javascript jquery ajax

我根据别人的代码编写了一些代码。他们的代码完美无缺(见here),但是我的代码Uncaught TypeError: callback is not a function

我的代码片段:

ext.verify_acc = function(username, password, callback) {
    $.ajax({
        url: '//api.bos2.cf/?type=verify&username=' + username + '&password=' + password + '&callback=?',
        dataType: 'json',
        success: function (responseText) {
            messages = responseText['success'];
            callback(messages);
        }
    })
};

此外,所有代码都必须保留在ext.verify_acc函数中。如果任何代码不在其中,我希望这段代码无效。

然后封装,调用函数的脚本:

var descriptor = {
    blocks: [
        ['b', 'Check credentials %s %s', 'verify_acc', 'Username', 'Password'],
    ]//                                        ^
};//                                           ^
//--------THE-FUNCTION-THAT-GETS-CALLED--------^-------------------------------

上面的脚本呈现一个块,当点击它时调用函数

如果您知道为什么会说callback is not a function,请告诉我。

1 个答案:

答案 0 :(得分:0)

您只需要使用该功能,而不是功能名称:

eval()

但是,如果我阅读您提到的源代码,我认为您无处可去。或者他们可能会使用邪恶的package stepDefinition; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; @RunWith (Cucumber.class) @CucumberOptions (features = "Feature" ,glue={"stepDefinition"}) public class testRunner { }