AJAX 经典 ASP 代码在新的 IIS 7.5、SQL Server 2008 R2 设置中被破坏
AJAX code with classic ASP is broken on new IIS 7.5, SQL Server 2008 R2 settings
最近安装了一台新机器,运行 以前使用经典 ASP
的代码,在 IIS 7.5
和 SQL Server 2008 R2
在 64-bit
Windows 7 Enterprize
(本地开发环境)。本地区域设置:美国。
问题: 相同的代码在旧机器上有效,但所有 AJAX
代码在新机器上都被破坏并显示以下消息
An error has occured. (parsererror / SyntaxError: JSON.parse: expected ',' or ']' after array element at line x column xxx of the JSON data)
我可以看到一个特定的页面应该为 JSON 响应的特定列提取数据,该页面提取了错误的列(可能是由于逗号分隔问题(!))。在页面上显示了一年中特定月份的数据。这是使用 Request.Form("time")
段代码从浏览器中获取的。
问题:是否是某种本地化问题?如果是,那么在哪里?在 Web 服务器或 SQL 服务器上。似乎不明白从哪里开始寻找问题。
代码可以查看here。
显然这是 ASP 的 IIS 设置问题,LCID
属性定义了日期、时间和货币的格式。在修复之前,Web 服务器返回带有逗号而不是小数点的浮点值。实际代码具有元标记 CODEPAGE="65001"
,即 UTF-8 的 Windows 代码页标识符,与正在接收的编码不匹配。问题是该值应该与发送的实际编码相匹配。
可能的修复: 在 IIS 管理器->站点->ASP->区域设置 ID[= 上设置 Locale ID
= 127 19=] 解决了问题。
最近安装了一台新机器,运行 以前使用经典 ASP
的代码,在 IIS 7.5
和 SQL Server 2008 R2
在 64-bit
Windows 7 Enterprize
(本地开发环境)。本地区域设置:美国。
问题: 相同的代码在旧机器上有效,但所有 AJAX
代码在新机器上都被破坏并显示以下消息
An error has occured. (parsererror / SyntaxError: JSON.parse: expected ',' or ']' after array element at line x column xxx of the JSON data)
我可以看到一个特定的页面应该为 JSON 响应的特定列提取数据,该页面提取了错误的列(可能是由于逗号分隔问题(!))。在页面上显示了一年中特定月份的数据。这是使用 Request.Form("time")
段代码从浏览器中获取的。
问题:是否是某种本地化问题?如果是,那么在哪里?在 Web 服务器或 SQL 服务器上。似乎不明白从哪里开始寻找问题。
代码可以查看here。
显然这是 ASP 的 IIS 设置问题,LCID
属性定义了日期、时间和货币的格式。在修复之前,Web 服务器返回带有逗号而不是小数点的浮点值。实际代码具有元标记 CODEPAGE="65001"
,即 UTF-8 的 Windows 代码页标识符,与正在接收的编码不匹配。问题是该值应该与发送的实际编码相匹配。
可能的修复: 在 IIS 管理器->站点->ASP->区域设置 ID[= 上设置 Locale ID
= 127 19=] 解决了问题。