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 获取脚本,我也尝试过速记函数$.getScript(),并且我在参数中得到SyntaxError了a ,即使在 chrome 开发人员工具的网络选项卡下它显示脚本为成功获取状态码为 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 回答