javascript - 通过ajax加载html页面时,会加载script标签吗?

标签 javascript jquery html ajax

当您使用 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/

相关文章:

javascript - Jquery获取单字段数据

javascript - 基于 html 的代码编辑器

javascript - 在javascript中通过DOM获取所需的表单元素

javascript - 使用 jQuery 1.4.4 这个简单的方法由于某种原因失败了

javascript - 检查div是否有Elements和没有某些Elements

html - 我在哪里可以学习仅使用 div 标签设计/编码可调整大小的 html 页面?

javascript - xcode 5,我想删除 uiWebView 中的一个类

javascript - 创建对象数组 Jquery

javascript - 显示选择下拉列表的结果,然后克隆并添加另一个选择

html - 如何使用 Bootstrap 连续在图像上制作文本?