【问题标题】:How can I decode special characters in a JavaScript variable?如何解码 JavaScript 变量中的特殊字符?
【发布时间】:2014-10-16 02:20:16
【问题描述】:

这就是我所拥有的:

            url: "http://someurl.com/' + variable.id + '/page.html",

当页面呈现时,我收到如下所示的控制台错误:

http://someurl.com/'%20+%variable.id%20+%20'/page.html

这可以防止发生特定的 API 调用。我能做些什么来确保它被读取为?

http://someurl.com/variable.id/page.html

variable.id 实际上是一个值而不是变量。

【问题讨论】:

  • 看你的引号。内部是单引号而不是双引号。如果要将variable.id 连接到字符串中,则需要在第一个+ 之前终止第一个字符串,然后在第二个+ 之后初始化新字符串。

标签: javascript jquery decode encode


【解决方案1】:

您的引号不匹配导致您的字符串语法被破坏。这导致单引号、空格、加号和变量名在字符串中,而不是作为 JS 语句进行评估和执行。

你需要:

url: "http://someurl.com/" + variable.id + "/page.html",

注意加号前后的单引号已被删除,并在双引号的位置插入与您在组合 URL 的开头和结尾使用的双引号相匹配。

字符串必须以相同类型的引号开始和结束。同样有效的是:

url: 'http://someurl.com/' + variable.id + '/page.html',

url: "http://someurl.com/" + variable.id + '/page.html',

url: 'http://someurl.com/' + variable.id + "/page.html",

因为每个字符串都使用一组匹配的引号,无论您使用哪种类型。

【讨论】:

    【解决方案2】:

    您的意思是(注意双引号)?:

    url: "http://someurl.com/" + variable.id + "/page.html"
    

    【讨论】:

      【解决方案3】:

      你好,你在 sintaxis 上错了。

      你可以使用:

       var url = "http://someurl.com/";
       url += variable.id + "page.html";
       document.location.href = url;
      

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多