由ajax加载的Html页面无法正常显示

时间:2016-12-20 16:53:15

标签: javascript html ajax

我有js脚本将html页面加载到其他html页面的div元素:

加载页面startScreen.html:

 <!DOCTYPE html>
    <html lang="en">
    <head>
        <title>Test</title>
    </head>
    <body>
        <p>asdf</p>
        <p>ablabablablabla</p>
    </body>
    </html>

JS功能:

function setStartScreen(){

        var xhr= new XMLHttpRequest();
        xhr.open('GET', 'startScreen.html', true);
        xhr.onreadystatechange= function() {
            if (this.readyState!==4) return;
            if (this.status!==200) return;
            document.body.innerHTML= this.responseText;
        };
        xhr.send();
    }

加载脚本时,它可以正常工作 - startScreen.html已加载并与body连接。但是它无法正常显示。两个<p>标签位于同一行,当我在浏览器中单独打开startScreen.html时,它们看起来正确 - 一个标签位于另一个标签下方。我尝试使用其他<br>标记,但它不起作用。为什么会发生这种情况,我怎样才能让它正常工作?

1 个答案:

答案 0 :(得分:1)

您的def __repr__(self): return "[{}]".format(", ".join(map(str, self))) 不应包含startScreen.html个标签,只包含正文内容,例如:

html/head/body

否则页面将重复<p>asdf</p> <p>ablabablablabla</p> 使页面包含无效HTML结构的原因。

希望这有帮助。