0

このコードを使用してデータを投稿しています

$('.update_btn').live("click",function() 
{
var ID = $(this).attr("id");
var dataString = 'msg_id='+ ID;

$.ajax({
type: "POST",
 url: "get-data.php",
 data: dataString,
 cache: false,
 success: function(){
 //alert(dataString);//is not empty
 getData();
 }
});
return false;
});

function getData()
{
   $.ajax({ 
      type: "GET",    
      url: 'get-data.php',                                                                   
      success: function()          
      {
      var jq = '<?php echo $_POST['msg_id'];?>';   
      alert(jq);      
      } 
    });
}

投稿されたばかりのデータを取得するための関数データですが、投稿データがvar jqありません.何が原因でしょうか?.

4

2 に答える 2

2

success: function(r) { alert(r); }

PHP と JS を非常に奇妙な方法で混在させようとしています。投稿された変数を PHP AJAX ハンドラー スクリプトで吐き出します。

于 2012-06-27T21:40:45.947 に答える
2

jQuery(またはJavaScript)を使用しているため、PHPコードを埋め込んでいません...

のみを返したいと仮定し、他にはmsg_id何も返さないと仮定すると、次のget-data.phpようになります。

<?php
  // all the database work here to obtain the id..

  echo $data['msg_id'];
?>

次に、 getData 関数を次のようにします。

function getData()
{
   $.ajax({ 
      type: "GET",    
      url: 'get-data.php',                                                                   
      success: function(jq)          
      {
      alert(jq);      
      } 
    });
}

ここで、これをさらに詳しく説明します。戻り値がある種の配列になる場合は、php で json_encode を使用する必要があります。次のようにします。

<?php
$data = mysqli_fetch_array(mysqli_query("SELECT * FROM table"), MYSQL_ASSOC);

echo json_encode($data);
?>

論理的にはjson array、JavaScript を返すため、次のように変更されます。

function getData()
{
   $.ajax({ 
      type: "GET",    
      url: 'get-data.php',                                                                   
      success: function(response)          
      {
      var jq = $.parseJSON(response);
      alert(jq.msg_id);      
      } 
    });
}

2つの違いはあまりありません..しかし、うまくいけば、この答えは、あなたが使用しようとしているツールの賢明な理解への道をさらに進んでくれることを願っています..ググるだけなら、そこにはたくさんのjQueryチュートリアルがあります. .. 多くの JavaScript マニア (私自身を含む) は、jQuery の舞台裏で何が起こっているのかを理解できるように、ネイティブ JavaScript を学ぶように促します。これを行うのは非常に良い考えです。また、Google で検索すると、それに関する多くの情報とチュートリアルがあります。

おすすめの本を持っている人もいると思います。

于 2012-06-27T21:52:12.767 に答える