Fetch API:从http响应中获取标题、关键字和正文

2024-04-13

我想知道使用 fetch api (有没有办法在同源发出 XMLHttpRequest 时不发送 cookie? https://stackoverflow.com/questions/9028234/is-there-a-way-to-not-send-cookies-when-making-an-xmlhttprequest-on-the-same-ori/30050285#30050285)

目前,我使用正则表达式从响应文本中获取标题,例如:

var re_title = new RegExp("<title>[\n\r\s]*(.*)[\n\r\s]*</title>", "gmi");
var title = re_title.exec(responseText);
if (title)
    title = title[1]

为了获取关键字元标记中的内容,我需要使用几个正则表达式。

为了让内容对用户可见,我们不需要像 script、div 等标签,也不需要 script 标签之间的文本。这是为了仅获取响应正文中有意义的单词。

我认为(也根据各种 stackoverflow 帖子)使用正则表达式并不是正确的方法。有什么替代方案吗?


As zzzzBov https://stackoverflow.com/users/497418/zzzzbov提到的,您可以使用浏览器的实现DOMParserAPI 通过解析来实现这一点response.text() of a fetch要求。下面是一个为自身发送此类请求并解析标题、关键字和正文的示例:

<!DOCTYPE html>
<html>

<head>
  <title>This is the page title</title>
  <meta charset="UTF-8">
  <meta name="description" content="Free Web Help">
  <meta name="keywords" content="HTML,CSS,XML,JavaScript">
  <meta charset="utf-8">
  <script>
    fetch("https://dl.dropboxusercontent.com/u/76726218/so.html")
      .then(function(response) {
        return (response.text());
      })
      .then(function(responseText) {
        var parsedResponse = (new window.DOMParser()).parseFromString(responseText, "text/html");
        document.getElementById("title").innerHTML = "Title: " + parsedResponse.title;
        document.getElementById("keywords").innerHTML = "Keywords: " + parsedResponse.getElementsByName("keywords")[0].getAttribute("content");
        document.getElementById("visibleText").innerHTML = "Visible Text: " + parsedResponse.getElementsByTagName("body")[0].textContent;
      });
  </script>
</head>

<body>

  <div>This text is visible to the user.</div>
  <div>So <i>is</i>  <b>this</b>.</div>
  <hr>
  <b>Results:</b>
  <ul id="results">
    <li id="title"></li>
    <li id="keywords"></li>
    <li id="visibleText"></li>
  </ul>

</body>

</html>

我找到了 Mozilla 的文档获取API https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API, 使用获取 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch, and 获取基本概念 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Basic_concepts有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Fetch API:从http响应中获取标题、关键字和正文 的相关文章

  • 从 Javascript 中的嵌套函数返回值[重复]

    这个问题在这里已经有答案了 考虑这段代码 缩短 function getSecret db transaction function transaction transaction executeSql SELECT FROM table
  • 在 onclick 事件上请求麦克风

    有一天 我偶然发现了这个 Javascript 录音机的例子 http webaudiodemos appspot com AudioRecorder index html http webaudiodemos appspot com Au
  • 循环遍历数组并删除项目,而不中断 for 循环

    我有以下 for 循环 当我使用splice 要删除一个项目 我发现 秒 未定义 我可以检查它是否未定义 但我觉得可能有一种更优雅的方法来做到这一点 我们的愿望是简单地删除一个项目并继续 for i 0 len Auction auctio
  • javascript:全局变量泄漏

    每当我向 Firefox 提交插件时 我都会收到一封电子邮件 告诉我我的一些变量正在泄漏到全局范围内 一旦他们告诉我我解决了问题 但在那之前有什么方法 程序 来检查变量是否泄漏到全局范围内 Thanks Both JSLint http w
  • appendChild 错误:无法在层次结构中的指定点插入节点

    There is an error with the function appendChild Node cannot be inserted at the specified point in the hierarchy JS var a
  • 通过纯 JavaScript 获取 div 的第 n 个子元素

    我有一个名为 myDiv 的 div 元素 我怎样才能得到 myDiv 的第n个孩子DOM https en wikipedia org wiki Document Object Model操纵 Markup function reveal
  • Bootstrap 标签栏平滑移动导航按钮

    我有一个用于切换块的普通引导选项卡面板 在导航中切换块时 活动选项卡会突出显示 但现在 当我单击活动选项卡的背景时 它会立即发生变化 是否可以使切换选项卡时背景不会立即改变 而是根据需要哪个选项卡而平滑地左右移动 这可以用以下方法完成吗cs
  • 返回上一页

    我正在使用表格来 评价 页面 此表单将数据 发布 到其他地方的 php 脚本 我只是想在处理表单后显示一个链接 这将使用户返回到上一页 我可以在 php 脚本中使用 javascript 来执行此操作吗 GF 您可以使用链接来调用histo
  • 如何将“X-Content-Type-Options: nosniff”添加到我的网络服务器的所有响应标头中

    我正在运行一个 apache 网络服务器 我想将 X Content Type Options nosniff 添加到来自我的网络服务器的所有响应标头 我怎样才能做到这一点 是否可以通过更改 apache 配置文件来实现此目的 确保 mod
  • 角度垫排序不适用于带点表示法的 matColumnDef

    我正在尝试按列对表进行排序 当我必须过滤另一个结果中的结果时 就会出现问题 我尝试通过括号表示法和点表示法访问该属性 但没有给出结果 还将最终节点放置在 matColumnDef 中 但失败 因为有 2 列同名 table table
  • fadeOut() 和slideUp() 同时进行?

    我已经发现jQuery 淡出然后滑动 https stackoverflow com questions 734554 jquery fadeout then slideup这很好 但不是那个 我怎么能够fadeOut and slideU
  • 转义 \u200b(零宽度空格)和其他非法 JavaScript 字符

    我有一组 JavaScript 对象 我引导到后端模板 以在页面加载时初始化我的 Backbone js 集合 它看起来像这样 作为 Twig 模板 我遇到的问题是某些文本字段包含 u200b 零宽度空格 这会破坏
  • Next.js:错误:React.Children.only 期望接收单个 React 元素子元素

    我有一个名为Nav inside components目录及其代码如下所示 import Link from next link const Nav gt return div a Home a a About a div export d
  • Riak 在 MapReduce 查询中失败。使用哪种配置?

    我正在与 riak riak js 结合开发一个 nodejs 应用程序 并遇到以下问题 运行此请求 db mapreduce add logs run 正确返回存储在存储桶日志中的所有 155 000 个项目及其 ID logs 1GXt
  • Aurelia 中的角度服务?

    我还没有找到详细说明如何从 Angular 1 x 迁移到 Aurelia 的详细文档 到目前为止 我只看到人们详细介绍了 Angular 的概念directive可以在 Aurelia 中使用重制 customElement 好吧 足够简
  • Angularjs : $locationProvider.hashPrefix("!") ;

    我想将网址显示为 www test com 因为我正在使用 locationProvider hashPrefix 但它显示网址为 www test com 我想 哈希之前而不是哈希之后 Thanks var app angular mod
  • 如何从除自身之外的其他(blazor)库引用js/css文件?

    我如何引用 使用位于引用的 blazor 项目中的 css cs 文件 该文件与 host cshtml 中的当前项目不同 我的意思是
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • 将两个数字相加将它们连接起来而不是计算总和

    我将两个数字相加 但没有得到正确的值 例如 做1 2返回 12 而不是 3 我在这段代码中做错了什么 function myFunction var y document getElementById txt1 value var z do
  • 如何为 jQuery 插件设置私有变量?

    我想创建一个简单的插件 它使用元素的文本作为默认值 或者您可以在调用插件时设置此值 但是 如果我不设置该值 并为多个元素调用插件 则默认值会成倍增加 function fn reText function options var setti

随机推荐

  • 在facet_wrap中自动包装长窗格标题[重复]

    这个问题在这里已经有答案了 我想使用facet wrap 总结几列 我想给几个方面窗格起长标题 例如 set seed 123 df lt data frame a sample 0 1 20 replace T b sample 1 4
  • Net Core中DbContext需要MemoryCache或者Redis吗?

    我们在 SQL Server 数据库中有多个查找表 表格用于应用程序下拉菜单 地址类型 Home Business 产品类别 Books Food 电子产品 团队希望应用而不是不断读取数据库查找表MemoryCache or Redis C
  • 如何在 Laravel 中设置动态路由前缀?

    我需要创建一个具有多个区域设置的应用程序 每个路由都以区域设置为前缀 例如 xxx com en home xxx com fr home 问题是 我需要将区域设置字符串动态绑定到路由前缀 由于用户可以更改区域设置 因此区域设置字符串存储在
  • 在 Swift 中改变函数参数

    在 Swift 中 是否有可能在该函数的作用域内改变作为参数传递给函数的变量所指向的值 func exampleFunction value String index Int gt Bool value Changed Value Erro
  • Angular 4使用反应形式在数组内创建动态formArray

    在这里 我们在数组内动态创建数组 下面是预期结果的示例结构 optionsRadios null Package Title null HotelData Htitle HDescription hotelStar RoomData Hot
  • 通过 Excel VBA 发送带附件的电子邮件

    我想通过 Outlook 从 Excel 通过电子邮件发送报告 我正在使用我自己和同事的电子邮件地址对此进行测试 我收到 无法送达 的消息Error 该消息表示无法联系到收件人 并建议稍后尝试发送电子邮件 Sub CreateEmail D
  • 将 std::string 传递给函数 f(**char)

    是否可以将 std string 的指针传递给需要 char 的函数 该函数需要一个 char 才能向其写入值 目前我正在做以下事情 char s1 f s1 std string s2 s1 难道就没有更短的路吗 很明显 s2 c str
  • org.springframework.security.authentication.AuthenticationCredentialsNotFoundException:在SecurityContext中找不到身份验证对象

    我在以下环境中有一个网络应用程序 春季3 2 2 春季安全3 2 0 JPA 2 0 JSF 2 1 9 我已将以下与 Spring 安全相关的库添加到类路径中 spring security core 3 2 0 M1 jar sprin
  • 如何找到只安装了facebook应用的好友? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在 Facebook 上使用一个应用程序 我想找出仅包含在 Facebook 上安装相同应用程序的朋友的列表 而不是整个朋友列表 我正在
  • 嵌套字典理解python

    我无法理解 Python 3 中的嵌套字典推导式 我从下面的示例中得到的结果输出了正确的结构 没有错误 但只包含内部键 值对之一 我还没有找到像这样的嵌套字典理解的例子 谷歌搜索 嵌套字典理解 python 显示遗留示例 非嵌套理解或使用不
  • 如何长按主页、后退或最近使用的应用程序按钮打开我的 Android 应用程序?

    我希望我的用户能够通过长按后退按钮 最近使用的应用程序按钮或主页按钮来启动我的应用程序 或者甚至长按音量增大 减小或电源按钮 这将允许用户在不触摸屏幕图标的情况下执行我的应用程序 顺便说一句 我提供了与 Google Now 类似的语音解决
  • 将值从一个 jsp 页面传递到另一个 jsp 页面

    我正在将值从数据库检索到 jsp 中的表 到列 我想将该值插入到数据库中的另一个表中 为此 我使用另一个 jsp 表将该值插入到数据库中 并在之前的 jsp 页面表单操作选项卡中调用该 jsp 页面 I use request getPar
  • 时间:2019-03-14 标签:c++

    我正在编写一个 C 应用程序 我有一个类变量 多个线程正在写入该变量 在 C 中 任何可以在编译器 意识到 正在更改的情况下进行修改的内容都需要标记为易失性 对吧 因此 如果我的代码是多线程的 并且一个线程可能写入 var 而另一个线程从中
  • Swift 的标准库和名称冲突

    我知道 Swift 不使用命名空间 但名称是在每个模块中定义的 首先 我不太明白这是如何避免名称冲突的 请随意详细说明 尽管如此 我的主要问题是 假设我想要一个不使用 NSTreeNode 的树结构 所以我创建了自己的类 名为 TreeNo
  • Op 类型未在二进制中注册“SentencepieceEncodeSparse”

    我部署了一个模型 该模型使用 tfhub 模型来使用 docker 进行张量流服务 这是我的模型中包含的 tfhub 模型 https tfhub dev google universal sentence encoder multilin
  • DropboxAPI 入门,未找到类

    我第一次尝试使用 Dropbox API 但在启动应用程序时遇到此错误 Caused by java lang NoClassDefFoundError com dropbox client2 session Session AccessT
  • 异步任务中的异常在 Visual Studio 中被拦截

    我想运行多个任务 其中一些任务可以完成异步 然后等待所有任务完成 由于任务可能会引发异常 因此我想捕获并记录它们 sample code for that static async Task doit int x try Console W
  • 具有条件选择动作的剑道网格列

    这是我得到的 columns Bound t gt t Id Title Template
  • 处理 execvp 的参数数组?

    当我打电话时execvp 例如execvp echo b 其中 b 是命令 a 的参数数组 稍后更改该数组是否会影响之前进行的 execvp 调用 当我尝试调用 execp echo b 时 它最终打印出 null 而不是 b 内部的内容
  • Fetch API:从http响应中获取标题、关键字和正文

    我想知道使用 fetch api 有没有办法在同源发出 XMLHttpRequest 时不发送 cookie https stackoverflow com questions 9028234 is there a way to not s