当您使用 AJAX 加载 html 文档时,它如何处理 HEAD 标记内的节点:(script,link,style,meta,title) 忽略它们或加载并解析它们? 而对于 jquery 的 ajax() 函数呢?
最佳答案
当您调用 jQuery.ajax()
方法,您可以指定 dataType
属性,它描述了您希望从服务器获得什么样的数据,以及一旦收到数据如何处理。
默认情况下,jQuery 会根据响应的 MIME 类型尝试猜测 dataType
。但是,您可以从以下内容中明确指定数据类型:
html:以纯文本形式返回 HTML;包含的脚本标签在插入 DOM 时进行评估。
text:纯文本字符串。
xml:返回可通过 jQuery 处理的 XML 文档。
script:将响应作为 JavaScript 求值并将其作为纯文本返回。除非使用选项“缓存”,否则禁用缓存。
json:将响应评估为 JSON 并返回一个 JavaScript 对象。
jsonp:使用 JSONP 加载 JSON block 。将添加一个额外的“?回调=?”到您的 URL 的末尾以指定回调。
例如,以下 ajax 调用将以纯文本字符串的形式返回数据,而无需执行脚本或操作 DOM:
$.ajax({
url: 'ajax/test.html',
dataType: 'text',
success: function(data) {
alert(data);
}
});
关于javascript - 通过ajax加载html页面时,会加载script标签吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2203762/