2012-01-17 5 views
0

これは「process.php」ファイル内のコードの一部です:更新するJavaScript変数+ jQueryの

echo "<script type='text/javascript'> percYes = ".$yes."</script>" 
echo "<script type='text/javascript'> percNo = ".$no."</script>" 

この「process.php」ファイルが/ jQueryのを使用して(バックグラウンドで実行されますajax)をクリックします。上記の 'エコーされた' htmlはdivの内容を置き換えます。だから本質的に私がやろうとしているのは、背景のPHP呼び出しを使っていくつかのJavascript変数を更新することです。上記の解決策はうまくいかないようです。つまり、スクリプトはdivに配置されていません。

ボーナスの問題は、これらの更新されたJavascript変数を使用してグラフを更新することです。私は関数のグラフ関数をJavaScriptを持っていますが、問題は新しいグラフを古いものに置き換えることです(または、可能であれば更新するだけです)。

ありがとうございました。

+0

あなたはajax呼び出しを行うためにどのような機能を使用していますか。スクリプトとしてデータを解析するには、$ .ajaxではなく、$ .loadを使用する必要があると思います。 – Neeraj

+0

私は本当にこのことについてあまりよく分かりませんが、 'xmlhttp.open()'と 'xmlhttp.send()'を使っています。 $ .loadを見てみましょう。編集:うわー、$ .load完璧に見えます。 – user1104147

+0

また、スクリプトファイルをロードするためのjQueryの[getScript](http://api.jquery.com/jQuery.getScript/)もあります。 – DerVO

答えて

1

あなたがやろうとしているすべては、いくつかのJS VARS更新の場合は、JSON文字列を返すあなたのprocess.phpファイルを持ったほうが良いことがあります。

$array = ('percYes' => $yes, 'percNo' => $no); 
echo json_encode($array); 

これはあなたにすることができJSON文字列を与えます評価され、JS ajaxコールのコールバックで使用されます。

function(jsonstr) { 
    obj = eval(jsonstr); 
    percYes = obj.percYes; 
    percNo = obj.percNo; 
} 

私はこれが役に立てば幸い:

あなたがアクセス可能範囲内VAR「percYes」と「percNo」を持っている場合は、あなたのコールバックは、このようなものを見ることができます。

+0

これは素晴らしいですね!だから、js変数を更新したいとき、私は関数(jsonstr)を呼び出しますか? – user1104147

関連する問題