javascript - 我们如何使用 javascirpt 从 HTML 响应的脚本标签中获取变量值?
问题描述
我想从以下 HTML 响应中获取 g_listData 的值(从 FetchAPI 请求接收到这个 HTML 响应)
<html>
<body>
<script type="text/javascript">......</script>
<script type="text/javascript">......</script>
<script type="text/javascript">
var g_deferData= "testdata";
var g_listData = {"wpq":"","Templates":{},"ListData":{ "Row" : [
{
"ID": "85018",
"FileLeafRef": "read only"
},
{
"ID": "85091",
"FileLeafRef": "completed"
}
]}
}
</script>
</body>
</html>
解决方案
你可以试试 JSON.parse
const data = `<html>
<body>
<script type="text/javascript">
var g\_deferData= "testdata";
var g_listData = {"wpq":"","Templates":{},"ListData":{ "Row" : [
{
"ID": "85018",
"FileLeafRef": "read only"
},
{
"ID": "85091",
"FileLeafRef": "completed"
}
]}
}
<\/script>
</body>
</html>`
const div = document.createElement("div")
div.innerHTML=data;
let g_listData = div.querySelector("script").textContent.split("g_listData =")[1]
console.log(JSON.parse(g_listData))
推荐阅读
- reactjs - 使用 React 打开显示时组件不更新数据
- php - 如何在laravel中添加来自数据库的时间
- javascript - 从 NodeJs 获取 HTML 而不是 JSON
- python - 在 Python 中使用 Selenium,有没有办法在登录在线帐户时使 webdriver/浏览器成为“可识别的设备”?
- python - 如何使用一系列列名从熊猫数据框中获取系列?
- css - 在加载时向文本添加过渡
- asp.net-mvc - 演员表
视图模型? - java - 在 OSLC4J 中,如何将属性添加到具有七个关联属性的资源中?
- oauth-2.0 - 通过命令行获取 Auth0 访问令牌
- reactjs - 创建 React 应用程序:根据 .env 变量在 package.json 中设置 HTTPS 标志