javascript - Javascript - 如何从响应中检索 html 标记的值
问题描述
将 HTTP GET 发送到服务器。从服务器返回有效负载响应后,我需要提取 html 标记的值。我不知道执行此操作的代码
这是向服务器发送 HTTP GET 的代码:
<html>
<script>
function TEST()
{
var data = null;
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4)
{ console.log(this.responseText);}
});
xhr.open("GET", "https://webadmin.domain.local/authenticate.html");
xhr.send(data);
}
</script>
<b onmouseover = "TEST()">pass mouse here</b>
</html>
服务器返回响应,我需要提取 Session-Key 的值:
<input type="hidden" name ="Session-Key" value ="05aa6221dc982adb"/>
我需要提取 Session-Key 的值,这样我就可以将它用于对服务器的下一个请求。在我的脚本中执行此操作的代码是什么?
解决方案
您可以简单地设置
xhr.responseType = "document"
然后得到xhr.responseXML而不是xhr.responseText。
xhr.responseXML将是HTMLDocument的实例,因此您将能够使用querySelector方法来获取您需要的数据。
// ...
if (xhr.responseXML) {
const sessionKeyNode = xhr.responseXML.querySelector('[name="Session-Key"]');
if (sessionKeyNode) {
console.log(sessionKeyNode.value);
}
}
// ...
推荐阅读
- tensorflow - 在 Keras 中使用 TF Dataset API 的既定方法是使用 `make_one_shot_iterator()` 提供 `model.fit`,但这个迭代器只适用于一个 Epoch
- python-3.x - isatty() 总是返回 False?
- python-3.x - 从 aws lambda 函数连接到 redshift 时出错
- java - 如何在 Java 中使用 Sphinx 搜索
- javascript - 使用 preventDefault 方法删除 click 事件后如何继续?
- forms - 没有提交按钮的表单的可能性
- java - java - 如何使用Java中参数中的索引使用递归创建删除方法?
- tsql - 如何从给定日期(不包括周末)将日期范围创建为从日期到截止日期
- html - 我怎么能对齐这三个底部的 div 上升?
- python - 如何使用python从spark中获取已处理和未处理数据的数量