我在我的代碼中構建了一個Javascript變量,用戶交互後。我試圖將構建的JS對象發送到另一個頁面。將一個JS變量傳遞給一個HTML文件
我試圖通過HREF發送它使用
<a href="newpage.html?" + jsvariable">
但是這一次失敗。有沒有其他方法可以實現這一點?
謝謝
我在我的代碼中構建了一個Javascript變量,用戶交互後。我試圖將構建的JS對象發送到另一個頁面。將一個JS變量傳遞給一個HTML文件
我試圖通過HREF發送它使用
<a href="newpage.html?" + jsvariable">
但是這一次失敗。有沒有其他方法可以實現這一點?
謝謝
你不能像這樣從JavaScript注入變量。
但是你可以拿起那個錨並操縱它的href
屬性。有很多方法可以做到這一點。
例子:
... your html
<a id="someAnchor" href="newpage.html">test</a>
<script>
document.getElementById("someAnchor").href += "?someParam=" + jsvariable;
</script>
... rest of your html
P.S:確保的jsvariable
爲url編碼。
鑑於數據來自用戶輸入,您需要確保防範惡意輸入。
嘗試類似:
var anchorEl = // reference to your anchor.
anchorEl.href += '?data=' + encodeURI(jsvariable)
注意,上述解決方案的工作在你想要進一步的用戶交互才能到下一個頁面的情況。如果你想在頁面重定向直接,你可以這樣做:
window.location.href = 'newpage.html?data=' + encodeURI(jsvariable)
我沒有測試過這一點,但我認爲它會工作:
轉換你的對象到JSON:
var jsonObject = JSON.stringify(jsvariable);
然後將它傳遞到您的網址:
<a href="newpage.html?" + jsonObject>
在你newpage.html,讀取URL並提取信息,你需要
var jsParameter = ...
轉換JSON回JS對象:
var jsObject = JSON.parse(jsParameter);
你有不匹配的報價 – stark