Jquery加载脚本而不是调用内联函数

时间:2012-06-19 10:23:47

标签: jquery

我对jquery不太好,也许这个标题不能解释我想要做的事情,但是这里有:

$.ajax({
    url: 'my_action',
    dataType: 'script',
    beforeSend: function() { //can i not just call a script here instead?
        if (1 == 1) //just an example
        {
            return false
        }
    },
    complete: function() {
        console.log('DONE');
    }
});​

所以在beforeSend中,我想调用脚本而不是内联函数。这是因为我的功能很长,它使得ajax代码看起来很乱。

这可能吗?

2 个答案:

答案 0 :(得分:5)

$.ajax({
    url : 'my_action',
    dataType: 'script',
    beforeSend : foo // where foo is a function name.

〔实施例:

function foo(){
    // Do your magic here.
}

答案 1 :(得分:2)

按如下所示重写您的请求,以便在调用Ajax之前加载外部JavaScript文件。

$.ajax({
    url: 'my_action',
    dataType: 'script',
    beforeSend: function() {
        $.getScript("/path/to/script.js", function() {
            // you can call any function from the loaded file
            console.log('DONE');
        });
    }
});​