XML不能是整个程序

| 当我包含以下js文件(其中包含jquery)时,我在Firebug中收到错误消息“ XML不能成为整个程序” JS文件包含参考:
<script src=\"~/Scripts/scriptname.js\" type=\"text/javascript\"></script>
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())
  });
提前致谢!
已邀请:
script3 script可能无法正确理解脚本的ѭ2the属性,而是将其解析为空的instead4ѭ标记。使用javascript文件的完整路径,或相对于其加载页面的路径:
<script src=\"/full/path/to/Scripts/scriptname.js\" type=\"text/javascript\"></script>
<script src=\"../relative/to/Scripts/scriptname.js\" type=\"text/javascript\"></script>
由于某种原因,Firefox将您的脚本文件视为XML文件。我的猜测是您在Javascript文件中包含了
script
标记。例如。
<script>
    $(\"[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())});
</script>
您在外部JS文件中不需要
script
标记。 Chrome中的等效错误是 未捕获到的SyntaxError:意外令牌<
我发现FF中的“ 9”和Chrome中的“ 10”的另一个原因。就我而言,一切都以with11失败。 原因是我正在从https提供一些页面,并且我有一个经理根据当前要求在http和https请求之间进行切换。由于配置错误,管理器始终通过http提供ScriptResource.axd,这导致https页面上的错误。
我今天也遇到了同样的错误。就我而言,这是因为在执行AJAX请求时,我没有在URL中使用特殊字符的HTML代码。例如... 使用
&amp;
代替&
从臀部射击:我实际上收到了此错误,因为我在IIS 5.1 / WinXP中添加了aspnet_isapi.dll的通配符映射(用于某些与MVC相关的工作)。这意味着IIS对.js文件的处理方式有所不同。删除映射后,您描述的错误就消失了。
只是有同样的错误。确保javascript包含文件不包含