jQuery getScript() 有时工作正常,有时返回 "parsererror"和 TypeError 异常

标签 jquery ajax getscript

我在使用 jQuery(目前是 1.9.1 版本)时遇到了一个奇怪的问题,我正在使用 getScript() 函数来按需加载一些额外的 JS 库。它每次都从相同的库中加载相同的库,因此多个请求之间没有区别。它总是作为“application/javascript”从服务器返回。对于这些请求,我只使用一个浏览器。

$.getScript(scripts[s], function(){
  onScriptLoaded();
}).done(function(script, textStatus) {
  console.log(textStatus);
}).fail(function(jqxhr, settings, exception) {
  console.log(jqxhr, settings, exception);
});

它通常运行良好,.done() 被调用并且 textStatus 为 success。但是,大约每 10 个请求中就有 1 个会失败并调用 .fail() - settings 包含 parsererrorexceoption 包含 TypeError {}

我真的不知道为什么会这样,因为 10 次中有 9 次它工作正常。但是为什么有时会失败,我真的不知道。任何人都可以阐明这个问题吗?

如果有任何提示或帮助,我将很高兴。

最佳答案

好的,我找到了解决方案,但我对此并不满意,因为我不知道这个问题的真正原因。

我使用了这个答案中提到的解决方案:https://stackoverflow.com/a/2068597/385264

这不是真正的答案,因为我不知道发生了什么以及为什么会发生。我很高兴我让它工作了,但我希望有人能解释一下。

我希望,至少,它能帮助有类似问题的人。

关于jQuery getScript() 有时工作正常,有时返回 "parsererror"和 TypeError 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16561904/

相关文章:

javascript - Play Framework - 在函数中定义我的 Javascript 文件

javascript - 如何使用另一个 .js 文件中的函数?

javascript - iCheck 复选框未在 angularjs 中显示

javascript - 当 <div> 失去焦点时 jQuery 动画

javascript - JQuery 自动完成搜索方法

jquery - 如何搭建Ajax评论系统?

jquery - 同时使用ajax在成功部分显示结果

javascript - Node.js 服务器中使用 Express 的 "has no method ' getscript '"

jquery - 启用禁用 anchor ,Jquery

javascript - Laravel 中通过 Ajax 上传文件