XML不能是整个程序
当我包含以下js文件(其中包含jquery)时,我在Firebug中收到错误“XML不能是整个程序”
JS文件包含参考:
JS文件内容:
$("[id*='txtAddress1S']") .blur(function(){ $("[id*='txtAddress1S']") .val().match( /\b[p]*(ost)*\.*\s*[o|0]*(ffice)*\.*\s*b[o|0]x\b/i)&& (alert("Packages are not deliverable to a Post Office Box. \nPlease provide a different shipping address."), $("[id*='txtAddress1S']").focus()) });
提前致谢!
可能是你的脚本src
属性没有用~
正确理解,而是被解析为一个空的标签。 使用javascript文件的完整路径,或相对于其加载的页面的路径:
出于某种原因,您的脚本文件被Firefox视为XML文件。 我的猜测是你在Javascript文件中包含了script
标记。 例如
您不需要外部JS文件中的script
标记。
Chrome中的等效错误是
未捕获的SyntaxError:意外的令牌<
我发现另一个原因是"XML can't be the whole program
FF中"XML can't be the whole program
和Uncaught SyntaxError: Unexpected token <
Chrome中的Uncaught SyntaxError: Unexpected token <
。在我的情况下,一切都失败了ScriptResource.axd
。
原因是我正在从https提供一些页面,我有一个经理在http和https请求之间切换,具体取决于当前需要的内容。 由于配置不正确,管理器始终通过http服务ScriptResource.axd,这导致https页面出错。
我今天遇到了同样的错误。 在我的情况下,这是因为我在执行AJAX请求时没有在我的URL中使用HTML代码作为特殊字符。 例如…
使用&
而不是使用&
从臀部拍摄:我实际上遇到了这个错误,因为我在IIS 5.1 / WinXP中为aspnet_isapi.dll添加了一个通配符映射(用于一些与MVC相关的工作)。 这意味着IIS以不同的方式处理.js文件。 删除映射后,您描述的错误消失了。
刚出现同样的错误。 确保javascript包含文件不包含