【问题标题】:Unexpected Token on decodeURIComponentdecodeURIComponent 上的意外令牌
【发布时间】:2017-03-29 21:14:38
【问题描述】:

我的 grails 视图中有一个参数,我将其传递给 javascript 代码

<g:if test="${replacedString}">
    ${replacedString}
    <g:set var="replacedString" value="${replacedString}"/>
</g:if>
<script>
   var mydata = decodeURIComponent(${replacedString});
   console.log(mydata);
</script>

replacedString 值作为编码字符串传递,即:" 显示为 &amp;quot;。 因此,我有方法

decodeURIComponent

这是我要解码的字符串:

[{&quot;description&quot;:&quot;test1 &quot;,&quot;filenameAndPath&quot;:&quot;test1.pdf&quot;},{&quot;description&quot;:&quot;test file&quot;,&quot;filenameAndPath&quot;:&quot;test copy.pdf&quot;},{&quot;description&quot;:&quot;&quot;,&quot;filenameAndPath&quot;:&quot;&quot;},{&quot;description&quot;:&quot;&quot;,&quot;filenameAndPath&quot;:&quot;&quot;}]

这段代码不断抛出错误Syntax error: Unexpected token &amp;
我错过了什么明显的东西吗?

【问题讨论】:

    标签: javascript html grails


    【解决方案1】:

    这是 HTML 编码的。

    使用here的这个技巧:-

    var encoded = "[{&quot;description&quot;:&quot;test1 &quot;,&quot;filenameAndPath&quot;:&quot;test1.pdf&quot;},{&quot;description&quot;:&quot;test file&quot;,&quot;filenameAndPath&quot;:&quot;test copy.pdf&quot;},{&quot;description&quot;:&quot;&quot;,&quot;filenameAndPath&quot;:&quot;&quot;},{&quot;description&quot;:&quot;&quot;,&quot;filenameAndPath&quot;:&quot;&quot;}]"
    
    var elem = document.createElement('textarea');
    elem.innerHTML = encoded;
    var decoded = elem.value;
    
    console.log(decoded);

    请参阅here 了解 HTML 和 URL 编码的差异

    【讨论】:

    • 谢谢!不知道 HTML 与 URL 编码的差异。学到了一些新东西:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 2013-02-11
    • 2016-05-03
    • 2018-04-17
    • 2018-09-11
    • 2011-11-21
    • 2016-06-15
    相关资源
    最近更新 更多