2016-09-27 15 views
0

私はこの変数$typeを持っていて、monthまたはyearにします。 divを押して変更する必要があります。Ajax変更PHP変数

私は、onclickイベントをajax呼び出しで作成しようとしました。

var curr_class = $(this).attr('class'); 


$.ajax({ 
    type: "POST", 
    url: "index.php", 
    data: { 
     type: curr_class 
    }, 
    dataType: 'text', 
    success: function(data) { 
     // Test what is returned from the server 
     alert(data); 
    } 
}); 

しかし、アラートが全体 HTMLページを返します。

ajaxコールとvariableは同じスクリプト(index.php)のonclick関数内

です。私はちょうどそれがか

を返すようにしたい一方で、私は私がページの最上部に()が正しいとする(var data = { type:curr_class }) and console.log *that data* it returnsタイプ= month`を作成

データをCONSOLE.LOG

if(empty($_POST['type'])){ 
    $type = 'month'; 
} else { 
    $type = $_POST['type']; 
} 

を呼び出すと、私は私のスクリプトの残りの部分でそれを使用できるようにPHPの変数を変更します。

しかし、どのように私は、ACCことができこれを飾る?種類について、

+0

にあなたが' index.php'にAJAX要求を行うべきではありません。代わりに、ajaxリクエストを処理するための別のスクリプトを作成します。 – jeroen

+0

しかし、どうすれば* PHP変数*を変更できますか? @jeroen – EG47

+1

* PHP変数*はありません。各変数は、スクリプトの実行中にのみ設定され、スクリプトの終了後には存在しません(セッション、データベースなどを使用して情報を保存しない限り)。 – jeroen

答えて

0

結果ページ全体が。あなたが別のページにそれを送信する必要があり、そのページから

変数の型を返します。返されるように、あなたが同じページにリクエストを送信しているとして、
if(empty($_POST['type'])){ 
$type = 'month'; 
} else { 
    $type = $_POST['type']; 
    echo $type; 

、このようにそれを行う別のファイルにこのコードを維持し、そのページ

+0

php bcozにないJqueryコードのみを使用します。 – ImBS

+0

のランタイム変数値を取得できません。コードの別の部分で*その変数を使用するにはどうすればよいですか? – EG47

+0

セッション変数に保存 – Shahrukh

0
//Try This It's Work 
<a href="Javascript:void(0);" class="btn-my" data-title="month">Get Value</a> 
<a href="Javascript:void(0);" class="btn-my" data-title="year">Get Value</a> 
$(".btn-my").click(function(){ 
    var curr_class = $(this).data('title'); 
    $.ajax({ 
     type: "POST", 
     url: "index.php", 
     data: { 
      type: curr_class 
     }, 
     dataType: 'text', 
     success: function(data) { 
      // Test what is returned from the server 
      alert(data); 
     } 
    }); 
}); 
+0

HTMLページ全体を返します – EG47

+0

このコードを確認できます – ImBS

0

にAJAX呼び出しを行う

DOMでデータを使用できることを確認してください。次に次のステップを実行します。あなたはindex.php`返さ `のコンテンツをしたくない場合は

if(empty($_POST['type'])){ 
    $type = 'month'; 
    $monthOrDate = '<span id="date">'.$type.'</span>'; 
    echo $monthOrDate; 
} else { 
    $type = $_POST['type']; 
     $monthOrDate = '<span id="date">'.$type.'</span>'; 
    echo $monthOrDate; 
} 

その後、javascriptを使用

$('#date').click(function(){ 
    alert($(this).val()); // if not then comment it use below one 
    alert($(this).text()); 
});