在经典 ASP 页面中编写 JSON,以及对 Http Response 的一般(错误)理解
Writing JSON in Classic ASP page, and general (mis)understanding of Http Response
我有一个经典的 ASP 页面 (VBscript),它在服务器端生成一个 XML,然后 Response.Writes 它。该页面根本没有客户端。
但是我需要将其转换为 JSON。因为我找不到 ASP 服务器端有效的方法(完全不同的主题),所以我在客户端用我找到的 Javascript 代码做了它,最后 document.writing 它到页面.
问题是结果不一样:如果之前 http RESPONSE 只是一个 XML,现在的响应是 javascript 代码,它将 JSON ,但不响应。我理解的对吗?
换句话说,如果之前我有一个 xml 作为响应,现在响应是这样的:
<script type="text/javascript">
var xmlObj = parseXml('<%=resultXml%>');
var json = xml2json(xmlObj);
document.write(json);
</script>
这整个块由 ASP 在这样的方法中调用:
sub writeJsonResult(resultXml)
% >
the above javascript is here
< % end sub
% >
因此,浏览器再次显示 JSON,但使用它的服务未获得所需的响应。有没有办法将 JSON 写为响应?我觉得我错过了一些东西并且不太理解这一点。
该服务期望获得 JSON。
您正在给它一个 HTML 文档,其中包含动态写入 JSON 到页面的客户端 JavaScript。
您需要给它实际的 JSON,因此您需要找到一种使用 ASP.
生成 JSON 的方法
AS @Quentin has ;
The service is expecting to get JSON.
这意味着试图通过处理 JSON 客户端来解决这个问题是行不通的,因为这意味着您发回了 text/html
HTTP 响应而不是 application/json
一个。
无法绕过它,您必须处理 XML 以构建 JSON 结构服务器端,然后 return 使用
Response.ContentType = "application/json"
Classic ASP 有很多 JSON 库,有些不错,有些很棒,有些很糟糕。如果您正在寻找推荐,您只需要浏览一下,看看哪个适合您 ASPJSON.com 可能是使用最广泛的库 (但奇怪的是,该网站似乎已关闭时刻).
如果可能,在生成 XML 的地方使用上述库将其替换为 JSON,其中大多数支持直接从数据库构建 JSON 结构,从而节省您关于自己从 XML 解析和构建 JSON。
有用的链接
Any good libraries for parsing JSON in Classic ASP? [closed]
Classic ASP JSON Class (站点当前已关闭)
-
我有一个经典的 ASP 页面 (VBscript),它在服务器端生成一个 XML,然后 Response.Writes 它。该页面根本没有客户端。
但是我需要将其转换为 JSON。因为我找不到 ASP 服务器端有效的方法(完全不同的主题),所以我在客户端用我找到的 Javascript 代码做了它,最后 document.writing 它到页面.
问题是结果不一样:如果之前 http RESPONSE 只是一个 XML,现在的响应是 javascript 代码,它将 JSON ,但不响应。我理解的对吗?
换句话说,如果之前我有一个 xml 作为响应,现在响应是这样的:
<script type="text/javascript">
var xmlObj = parseXml('<%=resultXml%>');
var json = xml2json(xmlObj);
document.write(json);
</script>
这整个块由 ASP 在这样的方法中调用:
sub writeJsonResult(resultXml)
% >
the above javascript is here
< % end sub
% >
因此,浏览器再次显示 JSON,但使用它的服务未获得所需的响应。有没有办法将 JSON 写为响应?我觉得我错过了一些东西并且不太理解这一点。
该服务期望获得 JSON。
您正在给它一个 HTML 文档,其中包含动态写入 JSON 到页面的客户端 JavaScript。
您需要给它实际的 JSON,因此您需要找到一种使用 ASP.
生成 JSON 的方法AS @Quentin has
The service is expecting to get JSON.
这意味着试图通过处理 JSON 客户端来解决这个问题是行不通的,因为这意味着您发回了 text/html
HTTP 响应而不是 application/json
一个。
无法绕过它,您必须处理 XML 以构建 JSON 结构服务器端,然后 return 使用
Response.ContentType = "application/json"
Classic ASP 有很多 JSON 库,有些不错,有些很棒,有些很糟糕。如果您正在寻找推荐,您只需要浏览一下,看看哪个适合您 ASPJSON.com 可能是使用最广泛的库 (但奇怪的是,该网站似乎已关闭时刻).
如果可能,在生成 XML 的地方使用上述库将其替换为 JSON,其中大多数支持直接从数据库构建 JSON 结构,从而节省您关于自己从 XML 解析和构建 JSON。
有用的链接
Any good libraries for parsing JSON in Classic ASP? [closed]
Classic ASP JSON Class (站点当前已关闭)