2012-01-20 20 views
0

が、私はこのようになりますmain.php上の単純なHTMLボタンがあるとAJAX/jQueryを使って、別の上に置きますこのように:エコーPHPのセッション変数は、

session_start(); 
$_GET['numbers'] = $_SESSION['numbers']; 

はリフレッシュしたり、それが今設定$ _SESSION [「数字」]をエコーするように、jQueryの/ AJAXでmain.php上のdivをreleadする方法はありますか?

答えて

1

関数jquery.ajaxには、ajaxが返すときに呼び出されるコールバックとして機能する引数があります。 (linkを参照) セッションから値を返すようにsession.phpを編集します。 など何か書く:

$.ajax({ 
    url: 'session.php', 
    data: {numbers:1337}, 
    success: myEventhandler 
}); 

function() myEventhandler(value) { 
    $('#result').text(value); 
} 

session.phpから来ている値を出力よりも返すコールバックを。

btw、それは意味がありませんか?

$_SESSION['numbers'] = $_GET['numbers']; 

get配列に代入を行い、それ以降は使用しません。

+0

はい、これは解決された問題の一部です。提案した内容を実行すると、div#resultのすべてが実際にajaxクエリの応答テキストに置き換えられます。私はdivを変更したくないだけで、 "reload"または "refresh"するだけです。 – Norse

+0

あなたの質問は、セッションに保存されている番号だけが結果に表示されることを意味します。私は現在の値を実際の値で置き換えるソリューションを提供しました。結果のdivには他に何がありますか? – zaphod1984

1

あなたは、このような

echo $_GET['number']; 

として及びmain.phpにAJAXを呼び出すときよりも、あなたがそのような

$.get('session.php', function(response) { 
    $('#result').text(response); 
}); 
として、現在のページを変更するために応答データを使用することができ、 session.phpであなたが望むものをエコーする必要が

jQueryのajaxメソッドに慣れていない場合は、ajax apiが役に立ちます。