【发布时间】:2018-01-02 01:17:33
【问题描述】:
我在使用 javascript 将 html 插入文档时遇到问题。
尝试将 html 插入文档的代码:
function loadTaskPage(taskId){
fetch("https://localhost:44321/api/Tasks/1")
.then(function(response){
return response.text();
}).then(function(data){
document.body.insertAdjacentHTML('beforeend', data);
}).catch(function(error){
alert(error);
})
}
这部分代码我取自教程,教程的源代码可以在这个链接中找到:https://github.com/bstavroulakis/progressive-web-apps/blob/master/car-deals/js/carService.js
如果我尝试在浏览器中打开此链接https://localhost:44321/api/Tasks/1,我会收到正常样式的网页,但是当我尝试将其插入文档时,html 代码会被转义并且不显示任何内容。
插入的 html 看起来像:
<div id="\"myModal\"" class="\"modal" fade\"="">...
下面的代码是从代码示例复制而来的引导模式。如您所见,出现了符号\" 转义引号。
我从我的 ASP.Net Web Api 收到的带有标题的 html 响应:text/html
我应该如何使用 javascript 将此 html 代码插入到文档中?
【问题讨论】:
-
我已经尝试像这样附加
document.getElementById('main-content').innerHTML += data;。但是仍然只出现没有任何样式的文本,并且正如我在票证中所说的,所有类属性都被转义了。 -
你的html中的转义好像关闭了:
"太多了,你的html字符串应该是"<div id=\"myModal\" class=\"modal" fade\">..."否则id里面的字符串是'"id"'see this fiddle -
请注意,当我提到“
id中的字符串...”时,我的意思是,作为一个例子,它发生在更多的地方,而不仅仅是id -
我在答案下添加了一条评论,我说我不知道为什么会出现额外的引号。我的响应字符串是:
<div id=\"myModal\" class=\"modal fade\">这样。
标签: javascript html asp.net-web-api