0

我有输出图像网址的苔藓服务。

假设输出 url 有 '&' 字符,服务附加 amp; 旁边 &。

例如:Directory.aspx?&z=BWxNK

这里放大器; 额外添加。这是一项苔藓服务。所以我无法控制服务。

我能做的是解码输出。当我使用 Ajax 调用调用 moss 服务时,我被迫解码来自 javascript 的输出。我试过 decodeURIComponent、decodeURI、unescape。没有解决问题。

非常感谢任何帮助。甚至服务器端功能也很有帮助。我正在使用 Aspl.net MVC3

问候,库马尔。

4

2 回答 2

0

&不是 URI 编码的,它是 HTML 编码的。

对于服务器端解决方案,您可以这样做:

Server.HtmlDecode("&") // yields "&"

对于 JavaScript 解决方案,您可以将html设置为"&"并读出text,以模拟 HTML 解码。在 jQuery 中,它可能看起来像这样:

$("<span/>").html("&amp;").text(); // yields "&"
于 2012-05-04T08:27:26.823 回答
0

&amp;是 SGML/XML/HTML 的&.

如果服务正在输出 XML 文档,那么请确保您使用的是 XML 解析器来解析它(而不是正则表达式或同样疯狂的东西)。

否则,您需要解码(大概)HTML。在 JavaScript 中,最简单的方法是:

var foo = document.createElement('div');
foo.innerHTML = myString;
var url = foo.firstChild.data;
于 2012-05-04T08:27:34.673 回答