【问题标题】:Loading jquery script from CDN works, but loading same script from IIS yields illegal character?从 CDN 加载 jquery 脚本有效,但从 IIS 加载相同的脚本会产生非法字符?
【发布时间】:2020-11-19 22:57:21
【问题描述】:

在从 IIS (v8.5.9600) 加载的静态网页中,我将 jquery 包含在以下内容中:

<script type="text/javascript" src="js/jquery.min.js"></script>

在 Firefox 浏览器中加载页面时,我的控制台中出现以下错误:

Uncaught SyntaxError: illegal character [Learn More] jquery.min.js:1

如果我从 CDN 加载它,一切都很好,我的代码运行并且没有错误(我的代码在 html 页面中,因此不包含在另一个脚本中)。

<script type=“text/javascript” src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js">

我从 CDN 下载了文件并直接将其复制到 IIS 中,但是当它加载时,我仍然在 Firefox 中收到有关非法字符的错误。

来自 CDN 和 IIS 的文件都加载了,所以这不是问题,但我确实注意到,当文件从 CDN 加载时,它看起来像这样:

但是当我从 IIS (v8.5) 加载它时,它看起来像这样:

附:我也尝试从 IIS(而不是 CDN)加载一个简单的脚本,但我得到了同样的错误。是不是跟IIS的设置有关?

【问题讨论】:

  • type=`"text/javascript`" ????奇怪的引号是怎么回事?
  • 很可能,您用于请求脚本文件的路径不正确,IIS 正在返回 404 HTML 页面
  • @Phil 那是因为一个powershell脚本正在写出页面,转义双引号,我会修复它。
  • @leeand00 能否请您分享显示脚本文件名的浏览器网络选项卡快照。请确保它与您设置的任何内容相同。 from src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js" 尝试删除单引号。尝试使用另一个浏览器。在脚本标签中添加 charset="utf-8"。
  • @JalpaPanchal 谢谢!这就是问题所在。您的 charset="utf-8" 属性起到了作用。我猜这告诉浏览器请求uft-8格式的文件,这也很棒,因为我不必修改IIS的配置。

标签: javascript jquery iis newline


【解决方案1】:

检查显示脚本文件名的浏览器网络选项卡快照,并确保它从您在&lt;script&gt; 标记的src 属性中指定的 URL 自行加载。

您的 Javascript &lt;script&gt; 包含标记需要具有 charset="utf-8" 属性,以便浏览器以 utf-8 编码从服务器请求脚本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 2013-01-23
    • 2012-02-18
    • 1970-01-01
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多