2016-04-29 11 views
0

にJSのVaRの値を格納し、私は値を格納に関する問題について、ここでいくつかの記事を読んでいるの違いは、PHP変数にJSを形成し、ほとんどのコメントは、AJAXを使用すると述べました。AJAX対JS。 PHPの変数

両方AJAXやJSコードは、ほとんどの人はAJAXを使用することをお勧めする理由しかし、誰かが説明できるPHP変数にJS変数の値を格納するために使用することができますか?またはどのような利点私はその値を格納するJS上

おかげ

+1

値を_storing JSを形成し、ほとんどのコメントがAJAX_ .You'veは、独自の質問に答える使用するように言った:$ _SESSION変数を使用するためには、PHPページの上部にsession_start()を追加する必要があります、 私は推測する。 – Chay22

+0

あなたのページがリフレッシュせずにデータを取得する必要があるときは、AJAXを使用します。 @Joseマヌエル・ロドリゲスアバルカがさわやかせずに言ったように –

+0

あなたは、単一の要求で複数の変数を持つJSONオブジェクトを送信することができます。 JSでJSONオブジェクトを作成するのはかなり簡単で、データ転送の標準になっています。 –

答えて

0

をAJAXを使用する場合は、AJAXを使用してなしジャバスクリプト/ jQueryのからPHPの値を格納することはできません持っています。 DOMは、レンダリングされた後

、追加のPHPが実行されません。それはすべてです。 (1)フォーム要素に入力されたデータを送信します及び/変更するには、現在のページが更新されますされ、別のPHPファイルにフォームをポスト:サーバーへの追加データを送信するためには、2つの選択肢があります。または(2)AJAXを使用してください。

AJAXは、別のPHPページと通信して、ユーザーがいるページを更新/変更することなく、データを前後に送信します。

$.ajax({ 
    type: 'post', 
    url: 'ajax.php', 
    data: 'varName=' +varSomething, 
    success: function(d){ 
     if (d.length) alert(d); 
    } 
}); 

または

$.ajax({ 
    type: 'post', 
    url: 'ajax.php', 
    data: 'varSomename=' +varValue 
}).done(function(){ 
    //success function 
}); 

データは、PHPから返送され、それが操作することができるAJAXコードブロックのsuccess機能(およびONLYそこ)に受け取られます: AJAXコードブロックは次のようなものが見えますおよび/または、このように、DOMに再び注入さ:ここで

$.ajax({ 
    type: 'post', 
    url: 'ajax.php', 
    data: 'thevar=' +theval, 
    success: function(d){ 
     $('#someDIV').html(d); 
    } 
}); 

は、いくつかの追加のリンクですAJAXを再:

dynamic drop down box?

Prevent Page Load on Jquery Form Submit with None Display Button


データは、指定されたPHPファイル(上記の例ではajax.php)に到着し、あなたは$_POST[]変数を経由してそのデータを取得することができます。

<?php 
    $summat = $_POST['someVarname']; 

    //To send data back to the AJAX success function, you just echo it: 
    $out = '<div style="font-size:3rem;color:blue;">'; 
    $out .= $summat; 
    $out .= '</div>'; 
    echo $out 

今、あなたは、ローカルのPHP変数にデータを持っています。 PHPファイルの実行が完了すると、この変数は存在しなくなります。 PHP変数を保持するには、$ _SESSIONスーパー変数を使用します。 PHP変数に

<?php 
    session_start(); 
    $_SESSION['summat'] = $_POST['someVarname']; 

    //Now you have a permanent variable on the server, associated with this user's PHP session