我有苔藓服务,输出图像的网址。
让我们说输出网址有'&'性格,服务附加放大器;在&。旁边。
代表:Directory.aspx?& z = BWxNK
这里放大器;另外添加了。这是一个苔藓服务。所以我无法控制服务。
我能做的就是解码输出。由于我正在使用Ajax调用来调用moss服务,因此我被迫从javascript解码输出。我试过decodeURIComponent,decodeURI,unescape。没有解决问题。
任何帮助非常感谢。甚至服务器端功能也很有帮助。我正在使用Aspl.net MVC3
此致 库马尔。
答案 0 :(得分:0)
&
不是URI编码的,而是HTML编码的。
对于服务器端解决方案,您可以这样做:
Server.HtmlDecode("&") // yields "&"
对于JavaScript解决方案,您可以将 html 设置为"&"
并读出文本,以模拟HTML解码。在jQuery中,它看起来像这样:
$("<span/>").html("&").text(); // yields "&"
答案 1 :(得分:0)
&
是&
的SGML / XML / HTML。
如果服务正在输出XML文档,那么请确保使用XML解析器来解析它(而不是正则表达式或同样疯狂的东西)。
否则,您需要解码(推测)HTML。在JavaScript中,最简单的方法是:
var foo = document.createElement('div');
foo.innerHTML = myString;
var url = foo.firstChild.data;