1

私は次のコードを持っています:

$.ajax({
    beforeSend: function () {
        console.log("fetching script");
    },
    url: "../../../scripts/review-level-" + ig.game.currentLevel.toString() + ".js",
    dataType: "script",
    type: "GET",
    success: function (script) {
        console.log(reviewFunc());
    },
    error: function (jqXHR, textStatus, errorThrown) {
        console.log(errorThrown);
    }
});

jQuery.ajaxを使用してスクリプトをフェッチしようとしています。省略形の関数も試しました。また、Chrome開発者ツールの[ネットワーク]タブでスクリプトが表示されているにもかかわらず、パラメーターに$.getScript()aが含まSyntaxErrorれています。ステータスコード200で正常にフェッチされました。フェッチしているスクリプトは次のとおりです。errorThrownerror

function reviewFunc() {
    var overlay = ig.game.spawnEntity("EntityInfooverlay", 0, 0, {
        msg: {
            status: true,
            message: "Question #1:",
            counterOut: 0
        }
    });
    console.log("reviewFunc Finished");
    return overlay;
}

そこに構文エラーが見当たらないので、ちょっと困惑しています。誰かが私が見たことがないか、これに遭遇したことがある場合は、助けていただければ幸いです。

4

1 に答える 1

2

生のJavaScriptを使用すると、デバッグが簡単になる場合があります。

loadScript("../../../scripts/review-level-" + ig.game.currentLevel.toString() 
    + ".js", function() { reviewFunc(); });

function loadScript(src, callback)
{
    var s, r;
    r = false;
    s = document.createElement('script');
    s.type = 'text/javascript';
    s.src = src;
    s.onload = s.onreadystatechange = function() {
        if ( !r && (!this.readyState || this.readyState == 'complete') )
        {
            r = true;
            callback();
        }
    };
    document.body.appendChild(s);
}

編集

ここで解決策が見つかりました。

于 2012-11-30T17:14:10.930 に答える