如何将包含HTML的JSON解析为HTML

时间:2018-06-20 13:25:18

标签: javascript html json web

我想解析一个包含HTML标记(使用JSONLint验证)的JSON对象response.indexText

{
  "indexText": "<div id=\"content-home\"><h1> Hello World! <\/h1> <p>Some text.<\/p><p>Some more text.<\/p></div>"
}

进入<div id="indexText"></div> 但是,当我使用(第一个答案之后的 EDIT。window.onload内部和外部不会改变问题。

window.onload = function () {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        let response = JSON.parse(xhttp.responseText);
        document.getElementById("indexText").innerHTML = response.indexText;
    }
};
xhttp.open("GET", "./json/en.json", true);
xhttp.send();  
}; 

重新加载页面将为空 。怎么了?如何解析JSON内容,以便客户端将内容呈现为HTML?

我正在尝试做的事情。目前,我的页面包含多个* .html文件。所有页面具有相同的导航栏和相同的页脚。仅内容会更改。现在,我试图将内容存储在JSON文件中,以便在单击导航链接时可以更改文本。

1 个答案:

答案 0 :(得分:1)

将您的代码放入window.onload中,您将获得所需的结果。

检查以下工作代码:

library(dplyr)

df %>% 
  group_by(ID) %>% 
  top_n(n = 2, wt = WAGES) 

## A tibble: 8 x 3
## Groups:   ID [5]
#     ID  YEAR WAGES
#  <dbl> <dbl> <dbl>
#1     1  2001   100
#2     1  2002    98
#3     2  2002   120
#4     2  2003    80
#5     3  2005   300
#6     4  2010    50
#7     4  2011    40
#8     5  2008   500
window.onload = function() {
var response = {
  "indexText": "<div id=\"content-home\"><h1> Hello World! <\/h1> <p>Some text.<\/p><p>Some more text.<\/p></div>"
};

document.getElementById("indexText").innerHTML = response.indexText;
};

在这里使用JSfiddle:https://jsfiddle.net/y2rkhp8g/1/