Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是什么导致了我在Firefox开发者控制台中看到的语法错误?_Javascript_Firefox_Firefox Developer Tools - Fatal编程技术网

Javascript 是什么导致了我在Firefox开发者控制台中看到的语法错误?

Javascript 是什么导致了我在Firefox开发者控制台中看到的语法错误?,javascript,firefox,firefox-developer-tools,Javascript,Firefox,Firefox Developer Tools,附件是开发人员控制台的屏幕截图。我在闭包定义中看到语法错误 我有一个JavaScript文件,它具有以下功能。我正在从另一个函数加载JavaScript文件,并从中调用sampleFunction() var sampleFuntion=function(obj){ //Statement here; }; 但是Firefox在第一行显示了一个语法错误,即函数声明/定义 我正在Windows7上使用Mozilla Firefox 29.0.1 代码中的实际错误是什么?XML解析器中唯

附件是开发人员控制台的屏幕截图。我在闭包定义中看到语法错误

我有一个JavaScript文件,它具有以下功能。我正在从另一个函数加载JavaScript文件,并从中调用
sampleFunction()

var sampleFuntion=function(obj){
    //Statement here;
};
但是Firefox在第一行显示了一个语法错误,即函数声明/定义

我正在Windows7上使用Mozilla Firefox 29.0.1

代码中的实际错误是什么?

XML解析器中唯一的“格式不正确”实例。。。请检查您是否正确包含脚本


也有可能“第1行”指的是从constant.js中完成的eval或innerHTML集或类似内容。

由于指示的脚本行不包含任何可视语法错误,问题可能是该行中的不可见非法字符,例如a。在这种情况下,只需重写函数并确保替换文件开头的所有内容

或者控制台中的行号显示不正确,错误实际上在其他地方。要测试它,只需从脚本中删除该函数,然后查看是否仍有语法错误显示在第1行。如果是这样,您可以删除脚本的其他部分,并在错误消失后逐步检查

另一种检查Firefox中是否存在bug的方法是使用另一个浏览器确认该错误,即查看它是否也显示在其他devtool控制台的同一行中。如果不是,您应该尝试错误消息是否真正来自您的代码。如果新配置文件没有显示错误,则错误很可能是由某些附加组件或插件引起的

关于这一点,请注意:

Firebug在大多数情况下还提供有关发生语法错误的列的信息,并指明确切的位置:


这是由于HTTP请求的响应头中返回的“内容类型”“/”MIME类型“”(或媒体类型)[内容和MIME类型,两者不完全相同]与从文件加载的内容类型不同(在本例中为“JavaScript”内容)。如果没有提到MIME类型,Firefox默认假定“内容类型”为“应用程序/xml”, 这不是正确的类型

可以使用以下方法验证默认内容类型:

getResponseHeader('Content-Type')

因此,Firefox开发工具抛出上述错误(是的,FF没有给出任何线索!!!)

解决方案:

您的xhobject.overrideMetype(“text/javascript”);或者您的xhobject.overrideMetype(“application/javascript”)


正如GitHub线程中所讨论的,在发送请求之前。即使将“text/plain”发送到OverrideMemetype(),错误也会消失。但是,从技术上讲,上面的一个比“文本/普通”更合适。

在屏幕截图中阅读代码确实很困难。你能以纯文本的形式发布吗?@Barmar刚刚编辑过。请现在检查。没有语法错误,有。。。该函数周围是否存在不呈现的非法字符?@Cerbrus是的,我也有同感。没有语法错误。我还重新检查了所有非法字符。那么,控制台到底抛出了什么错误呢?这个“格式不正确”的错误与我传递的JSON对象有关,我知道答案。我的问题是第二个错误,我是指filecomponent.js中的语法错误。谢谢你的回答。我已经按照你的答案重新检查了我的代码。没有非法的空格或字符。我正在调试,如果遇到任何问题,我都会发布。