jQuery的getScript函数似乎不支持错误回调函数。我不能在这里使用全局ajax错误处理代码,局部错误功能将是理想的选择。
回调获取data / textStatus的文档似乎不正确-回调均不获取。
关于如何检测到对getScript的调用失败的任何建议(例如,服务器不可用)?
编辑:仅查看源代码,似乎回调仅在成功时才调用,数据始终设置为null且未定义textStatus(因为我认为这是仅成功的回调)。该文档对于此功能非常不正确。
这有点hack,但是..
您可以在加载的脚本中声明一个变量,并在加载脚本后对其进行检查(假设完整功能仍会触发):
script_test.js:
var script_test = true;
然后:
$.getScript("script_test.js", function () { if (typeof script_test !== undefined) alert("script has been loaded!"); });
或者,您可以尝试查看脚本中是否真正存在函数,变量,对象等
。更通用的方法是在要加载的脚本中添加自执行函数,然后使它们在您的“主要”脚本中执行功能:
main_script.js:
function scriptLoaded(scriptName) { alert(scriptName + " loaded!"); } $.getScript("script_test.js");
(function () { scriptLoaded("script_test.js"); })();