【问题标题】:JSON how to remove ' letters of the stringJSON如何删除字符串的'字母
【发布时间】:2020-12-08 11:09:35
【问题描述】:

我正在尝试从我的字符串中删除 '。怎么做?我正在使用带有 JSON 的 ajax。 我的代码如下所示:

<html>
    <body>
    <p id="testHTML"></p>
    </body>
    <script type="text/javascript">
            
        $(document).ready(function() {
            $.ajaxSetup({ cache: false });
            setInterval(function() {
                $.getJSON("IOCounter.html", function(data) {
                    $('#testHTML').text(data.testHTML);
                });
            }, 2000); //Refreshrate in ms
        });
    </script>
    </html>

在 testHTML 中,我从 IOCounter.html 获得字符串“HelloWorld”,但是当我在 index.html 中显示它时,我得到:

&#x27;HelloWorld&#x27;

现在我只想删除 &amp;#x27; 以仅获取 HelloWorld。我该怎么办?

【问题讨论】:

  • 返回的字符串是html 编码的。要解码,请使用:stackoverflow.com/a/34064434
  • 我以前看过这篇文章,但我无法找到在我自己的代码中放置 htmlDecode 的位置以及如何将它与 p 标签一起使用...抱歉,我对使用 html 和javascript
  • 只需在添加元素之前对其进行解码。看到您的代码,您似乎需要解码data.testHTML,然后将其设置为#testHTML。例如$('#testHTML').text(htmlDecode(data.testHTML)); 。只需确保 htmlDecode 函数已定义且可用。
  • 好的,谢谢,我的HTML现在可以解码了,但是刷新功能不起作用
  • 它应该可以工作。由于您收到了一次data,因此该请求也必须正常工作。如果没有,则使用.fail() 链接您的getJSON,并添加回调以检查error

标签: javascript html jquery json ajax


【解决方案1】:

返回的字符串是 HTML 编码的。要获取纯文本字符串,需要对其进行解码。

DOMParser(大多数浏览器都支持)可以用来解码字符串如下:

function htmlDecode(str) {
    const doc = new DOMParser().parseFromString(str, "text/html");
    return doc.documentElement.textContent;
}

使用它,您可以解码字符串,然后将其设置为#textHTML

$.getJSON("IOCounter.html", function(data) {
    $('#testHTML').text(htmlDecode(data.testHTML));
});

【讨论】:

    猜你喜欢
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2020-12-12
    • 1970-01-01
    • 2017-07-07
    相关资源
    最近更新 更多