首页 > 解决方案 > 我们如何使用 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>

标签: javascript

解决方案


你可以试试 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))


推荐阅读