Request.HTML - 仅返回内容而非完整内容

时间:2014-10-09 14:46:15

标签: xmlhttprequest mootools

当我通过mootools执行Request.HTML时,responseHTML属性仅包含标记的内容,而不包含可在响应正文中找到的完整内容。

任何人都可以解释原因 - 并且是否可以检索完整的HTML? 我有一个现有的应用程序通过ajax请求“电子邮件预览”,然后将响应丢弃到iframe但最近iframe丢失了CSS,这是由于Request.HTML的responseHTML属性不包含完整的html。 / p>

这是一个JSFiddle:http://jsfiddle.net/BloodBaz/n7nwhkc9/3/

谢谢, 克里斯

1 个答案:

答案 0 :(得分:4)

Request.HTML被认为是一种检索片段的方法,比如模板/部分,并转换为节点树。

在该上下文中跳过<head />是有道理的,因为注入样式,脚本等可能完全不受欢迎 - 你可以在这里看到它https://github.com/mootools/mootools-core/blob/master/Source/Request/Request.HTML.js#L38,其中上下文被转移到正文中,如果有的话是一个。

来自正文的脚本标记也会被提取并放在一边,如果evalScripts设置为true,则会运行。

如果您关心整个正文而不是解析器,则不需要使用Request.HTML,只需在成功处理程序中使用Request()或引用this.response.text属性即可。

例如:http://jsfiddle.net/dimitar/n7nwhkc9/5/

如果您不依赖xml解析器来获取节点树,则仍然不应使用Request.HTML