3

当用户提交一些东西时,我想将一个 html 页面加载到我的容器中。

我用过

$("container").load("page_broken.html",function(responseTxt,statusTxt,xhr){
            if(statusTxt=="success") alert((responseTxt));
        });`

但是page_broken.html已经<!doctype> <html> <head>(linking to css files and jquery) <body>注意到我的原始 html 文件,已经有这个标签,现在当我用这个 html 文件加载我的容器时

我担心这些标签会被包裹在我的容器中。

http://api.jquery.com/load/这是一个链接,上面写着

jQuery uses the browser's .innerHTML property to parse the retrieved document and insert it into the current document. During this process, browsers often filter elements from the document such as <html>, <title>, or <head> elements. As a result, the elements retrieved by .load() may not be exactly the same as if the document were retrieved directly by the browser.

但是当我使用警报来查看响应时,它有<!doctype> <body> and <html>标签。

那么解决方案是什么,文档是否正确?它可能会返回标签但可能无法加载?任何人都可以清楚地向我解释这一点。谢谢

4

1 回答 1

1

.load 成功回调的第一个参数是从您的服务器返回的原始 html。如果您的服务器返回 doctype 头标题等,那么原始 html 也将包含它。jQuery 解析这个 html 并使用 innerHTML 将它插入到目标文档中。innerHTML 将从内容中去除这些标签,因为它们在那时是无效的。

于 2013-06-17T17:48:24.887 回答