将JS变量传递给HTML文件

时间:2015-08-23 17:37:35

标签: javascript html

我在一些用户交互后在我的代码中构建一个Javascript变量。我试图将构造的JS对象发送到另一个页面。

我正在尝试使用

通过HREF发送它
<a href="newpage.html?" + jsvariable">

但是这个失败了。有没有其他方法可以实现这个目标?

谢谢

3 个答案:

答案 0 :(得分:2)

你不能从那样的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编码的。

答案 1 :(得分:0)

鉴于数据来自用户输入,您需要确保防止恶意输入。

尝试类似:

var anchorEl = // reference to your anchor.
anchorEl.href += '?data=' + encodeURI(jsvariable)

注意,上述解决方案适用于您希望进一步用户交互以进入下一页的情况。如果要直接重定向页面,可以执行以下操作:

window.location.href = 'newpage.html?data=' + encodeURI(jsvariable)

答案 2 :(得分:0)

我还没有对此进行测试,但我认为它会起作用:

  1. 将您的对象转换为JSON:

    var jsonObject = JSON.stringify(jsvariable);
    
  2. 然后将其传递到您的网址:

    <a href="newpage.html?" + jsonObject>
    
  3. 在您的newpage.html上,阅读网址并提取您需要的信息

    var jsParameter = ...
    
  4. 将JSON转换回JS对象:

    var jsObject = JSON.parse(jsParameter);