jquery - jquery .load() 带来的数据比我要求的要多
问题描述
我正在为从 d1.test.com 到 d2.test.com 的菜单列表进行跨站点获取,并且它可以工作......但问题是它还会拉回我想要的元素之外的其他数据。因此,对于这种情况,我得到了<header>
标签中的所有内容,但是$('#mainNav').load('https://d1.test.com header');
(我已经在控制台中独立运行以确保)还从<header>
标签之外的 d1 中提取了一些其他内容。
- 这是为什么?
- 如何
<header>
像我期望的那样只获取开始标签和结束标签之间的数据?
ETA:这是 d2 正在拉过来的 d1 上的 html(在评论中要求),加上 trasparent.gif 的位置,它不在标题标签内:
<div class="auxnav">
<div class="wrapper">
<a href="#skip-to-content">
<img src="/images/Transparent.gif" alt="Skip to content." width="1" height="1">
</a>
<ul id="AuxNavigation" class="CMSListMenuUL">
</ul>
</div>
</div>
<header role="heading">
<div class="wrapper">
<nav>
menu items here
</nav>
</div>
</header>
解决方案
它实际上并没有在外部加载元素<header>
。它只是解析整个返回的 HTML,以便它可以选择您想要的嵌套元素。当其中有<img>
元素时,这会触发尝试加载它们,如果图像不存在,这可能会导致控制台出错。
这确实会导致额外的网络开销,因此如果您可以重新组织服务器文件以将其拆分为更具体的文件,而无需周围的元素,那可能是最好的。但是现在您可以忽略图像中的 404 控制台错误。
推荐阅读
- python - 如何让python在字符串中搜索整数——而不仅仅是数字
- javascript - 在构建动态 HTML 表单时清理 Javascript 对象中的 HTML
- c++ - c ++编译器如何获取argv字符串的长度
- ansible - 有条件时如何在 Ansible 中打印命令输出?
- php - Prestashop 动态定价 PHP
- mysql - Node.js:具有多个变量的 MySQL 查询
- javascript - Draft.js 将代码块应用于粘贴的 JSON 数据
- python-3.x - 如何遍历一棵树直到找到一个节点,沿途总结属性
- c++ - 未实例化未定义的类模板以检查友元函数
- ssl - CentOS6 - curl NSS 错误 -5961 通过更新软件包解决。它实际上做了什么?