我经常使用.getScript加载一些动态生成的javascript,有时加载的数据会引起parsererror,例如,当字符串包含引号时,该引号在javascript中过早结束,从而破坏了文件。
这是我的代码:
$.getScript(URL, function(data){
scriptCallback(data);
}).fail(function(jqxhr, settings, exception){
console.error('getScript fail! See below:');
console.error(jqxhr);
console.error(settings);
console.error(exception);
});
当发生parsererror时,我在控制台中得到以下输出:
getScript fail! See below:
An object with status 200 OK and responseText a great load of javascript
parsererror
SyntaxError: Unexpected identifier
at eval (<anonymous>)
at jquery-1.12.0.min.js:2
at Function.globalEval (jquery-1.12.0.min.js:2)
at text script (jquery-1.12.0.min.js:4)
at Wb (jquery-1.12.0.min.js:4)
at y (jquery-1.12.0.min.js:4)
at XMLHttpRequest.c (jquery-1.12.0.min.js:4)
但是,这些方法实际上都无法帮助我确定脚本文件中的WHERE发生了错误。我只希望能够单击它加载的脚本文件的内容,并查看错误出在哪里,就像在页面上的JavaScript或加载的文件中一样。
这是不可能的吗?
谢谢。
最佳答案
仔细检查,然后再三遍检查要使用getScript加载的代码。就我而言,我有一条长长的SQL语句被传递到AJAX post参数中,因此出于可读性考虑,我将该语句分为几行并置。 IDE没有错误,但是getScript总是返回parseError或SyntaxError ...您无法查明出现问题的代码行的事实实际上是在告诉您什么都没有执行-parseError意味着什么都没有运行。在执行任何操作之前,目标JavaScript的解析失败。