簡體   English   中英

如何獲取JavaScript變量?

[英]How to get a JavaScript variable?

從包含(或引用)我的JavaScript的頁面上,我向外部網站發出AJAX XHR請求。

外部網站在GET請求中返回一個JavaScript文件,如下所示:

var __xxx = {
    // ....
};

如何在JavaScript中獲取變量__xxx的值?

目前,我發明的唯一方法是使用正則表達式刪除var __xxx然后使用JSON解析器解析其余的內容。 有沒有更好的辦法?

如有必要,可以將外部網站視為受信任的網站,但我寧願不要信任來自它的數據(使用一些安全的解析器,如JSON)。

我相信您最好的選擇是要么做您當前正在做的事情(解析字符串Javascript和JSON.parse ),要么對傳入的Javascript字符串使用eval方法。

我個人建議解析該字符串,但這取決於您從此端點返回的Javascript。 評估幾乎肯定會在兩種情況下都起作用,但是可能很危險

使用字符串和Function構造函數創建一個新函數。 添加“返回_xxx;” 並將結果分配給在當前腳本中可訪問的新變量。

var returned_data = new Function(data + " return _xxx;")()

這比eval 更好 ,因為eval的執行將不允許訪問函數范圍之外的局部變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM