3

私は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コードが乱雑に見えるためです。

それは可能ですか?

4

2 に答える 2

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

例:

function foo(){
    // Do your magic here.
}
于 2012-06-19T10:26:39.137 に答える
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');
        });
    }
});​
于 2012-06-19T10:35:17.780 に答える