2009-03-19 6 views
0

JavaScriptを使用して値をスタックに格納しています。問題は、ページがリフレッシュされるまでスタック値がアクティブのままであることです。ページがリフレッシュされると、スタック値の値が 'Undefined'に設定されます。スタック値を永続的に格納する場所を実装する方が良いでしょうか?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値を参照するにはどうすればよいですか?

+0

これまでに投稿された3つの答えはすべて、あなたの質問が本当に明確でないという事実に言及することから始まります。あなたはあなたの質問を言い換えて、実際の問題をまとめてみてください。これは確かに良い答えを得るのに役立ちます。 –

答えて

3

別の方法これを解決するには、ページをリフレッシュせず、Ajaxを使用してボディ、フォーム、またはdiv要素をリロードします。あなたが更新の間、スクリプト値の持続性を持つことができます

$('body').load(url); 

その方法:jQueryのは、この特にシンプルになります。

0

あなたが
を求めているのか全くわからないオブジェクトを使用してスニペットを実装する場合は、このような何かをしようとは:

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

私が正しくあなたの質問を解釈する場合は、JavaScriptのかどうかを求めていますオブジェクトはページのリフレッシュを超えて存続できますか?

残念ながら、新しいページが読み込まれると、すべてのJavaScriptオブジェクトが失われます。彼らはページリフレッシュで生き残ることはできません。

私はクッキーを使用することをお勧めします。私はあなたのコードを書くのにまだ十分ではありませんが、一般的には:

スタックから/ popを押すと、クライアントのマシンに保存されているクッキーにスタックを保持します。ページが初めて読み込まれる(またはあなたの例ではリフレッシュされる)とき、そのクッキーを探してJavaScriptオブジェクトに永続スタックを書き込みます。

は、JavaScriptからクッキーに永続化を支援するため、これらのページを見てください:

あなたが特定の値をしたいと仮定すると
  1. David Winterbottom's links
  2. Cookies
  3. JavaScript Cookies
1

JavaScript変数でbを持続するページロードの間に、Damovisaの示唆を行うか、隠しフィールドを使用してスタック値を何らかの形で保存することができます。多分カンマで区切られた文字列かそのようなものでしょう。

利点は明らかです。あなたはプログラムであり、クッキーを有効にするためにクライアントのブラウザに依存しません。

可能であれば、一部のサーバーサイド変数でスタックを維持し、ページがレンダリングされるときにその値をJavaScriptコードに動的に挿入することができます。

あなたのプログラムに関する詳細を教えていただければ非常に役に立ちます。

JavaScript変数に値を設定してJavaScriptコードに反映させたい場合は、JavaScriptコード内にPHPタグを埋め込みます。例えば

<script> 
    var str = "<?php echo $my_str; ?>"; 
    //Do something with str 
</script> 

は、文字列の値ではJavaScriptによってトークンとみなされ、エラーをスローする可能性があります他に、引用符( ")を含めるようにしてください

1

あなたがシリアライズ可能性があります。オブジェクトを作成し、URL内のJavaScriptで次のページに投稿し、URLからページ上で解析します。これはおそらく最良の方法ではありませんが、質問しているので、バックエンド技術データを永久保存する。

関連する問題