Php JavaScript和堆栈

Php JavaScript和堆栈,php,javascript,arrays,Php,Javascript,Arrays,我正在使用JavaScript在堆栈中存储值。问题在于,在刷新页面之前,堆栈值保持活动状态。刷新页面时,堆栈值中的值设置为“未定义”。实现一个永久存储堆栈值的位置是否更好 然后,即使刷新了页面,也应该能够检索到旧的堆栈值 如何在PHP脚本中实现下面的堆栈片段 var arr = new Array(); var pushed = arr.push(id); // For pushing into the stack arr.splice(0,arr.length); // F

我正在使用JavaScript在堆栈中存储值。问题在于,在刷新页面之前,堆栈值保持活动状态。刷新页面时,堆栈值中的值设置为“未定义”。实现一个永久存储堆栈值的位置是否更好

然后,即使刷新了页面,也应该能够检索到旧的堆栈值

如何在PHP脚本中实现下面的堆栈片段

   var arr = new Array();
   var pushed = arr.push(id);  // For pushing into the stack
   arr.splice(0,arr.length); // For deleting the stack

如何在JavaScript中引用PHP存储的值?

不完全确定您在问什么
如果要使用对象实现代码段,请尝试以下操作:

var obj = {};
obj[key] = id; // to add
obj = {};      // to remove all items
del obj[key];  // to remove 1 item

如果我正确解释了您的问题,您会问JavaScript对象是否可以在页面刷新之后继续存在

不幸的是,当加载新页面时,所有JavaScript对象都会丢失。它们无法在页面刷新后生存

我建议用饼干。我现在没有足够的精力为您编写代码,但通常:

从堆栈中推/弹出时,将堆栈持久化到保存在客户端计算机上的cookie中。当页面第一次加载(或者在您的示例中刷新)时,查找该cookie并将持久化堆栈写入JavaScript对象

查看以下页面以帮助从JavaScript持久化cookies:


  • 假设您希望JavaScript变量中的某些值在页面加载之间保持不变,您可以按照Damovisa的建议执行操作,也可以简单地使用隐藏字段以某种形式存储堆栈值。可能是逗号分隔的字符串或类似的东西

    优势是显而易见的。您的程序不会依赖客户端的浏览器来启用cookie

    或者,如果可能的话,可以在服务器端变量中维护堆栈,然后在呈现页面时将该值动态插入JavaScript代码

    如果你能给我们更多关于你的计划的细节,那将非常有帮助

    如果希望PHP变量中的值反映在JavaScript代码中,请在JavaScript代码中嵌入PHP标记

    例如:

    <script>
        var str = "<?php echo $my_str; ?>";
        //Do something with str
    </script>
    
    
    var str=“”;
    //用str做点什么
    

    请确保包含引号(“),否则字符串中的值将被JavaScript视为标记,并可能引发错误。

    您可以使用URL中的JavaScript序列化该对象并将其发布到下一个页面,然后在该页面上从URL解析它。这可能不是最好的方法,但既然您提出了要求,我假设您无法使用任何后端技术永久存储数据。

    解决此问题的另一种方法是不刷新页面,而是使用Ajax重新加载其正文、表单或div元素。jQuery使这一点特别简单:


    这样,您可以在更新之间保留脚本值。

    到目前为止发布的所有三个答案都是从提到您的问题并不十分清楚开始的。请尝试重新表述您的问题,并总结您的实际问题。这肯定有助于获得更好的答案。
    $('body').load(url);