当我通过mootools执行Request.HTML
时,responseHTML
属性仅包含标记的内容,而不包含可在响应正文中找到的完整内容。
任何人都可以解释原因 - 并且是否可以检索完整的HTML? 我有一个现有的应用程序通过ajax请求“电子邮件预览”,然后将响应丢弃到iframe但最近iframe丢失了CSS,这是由于Request.HTML的responseHTML属性不包含完整的html。 / p>
这是一个JSFiddle:http://jsfiddle.net/BloodBaz/n7nwhkc9/3/
谢谢, 克里斯
答案 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
。