2016-10-19 12 views
0

私は、次のコードを持っている:JQueryとAjax:返されたデータを変数に格納する方法は?

window.onload = function() { 
     var eMail = "<?php echo $log; ?>"; 
     var aRticleid = "<?php echo $articleid1; ?>"; 
     $.ajax({ 
       type: "GET", 
       url: 'aquireLikes.php?email='+eMail+'&id='+aRticleid+'', 
       success: function(data){ 
       } 
      }); 
     }; 

これはPHPスクリプトを実行します。 PHPスクリプトには、特定の条件が満たされている場合にtrueに設定される3つの変数があります。私は、これらの変数の返された値を、aquireLikes.phpページを呼び出すJavaScript変数のセットに格納したいと思っています。これどうやってするの?それはこのようなものになるが、実際に動作します:

​​

私はナンセンス完了した上で知っていますが、ヒントを得ます。では、返された値をjavascript変数にどのように格納できますか?ここに私のaquireLikesファイルです:

<?php 

    $email = $_GET["email"]; 
    $articleid1 = $_GET["id"]; 
    $done = false; 

    $thing = mysql_query("SELECT `id` FROM likes WHERE id=(SELECT MAX(id) FROM likes)"); 
    $lastrow = mysql_fetch_row($thing); 
    $lastid = $lastrow[0]; 

    if($lastid == null || $lastid == '0'){ 
     $lastid = '1'; 
    } 

    $state1 = ''; 

    for ($i=1; $i <= $lastid+1; $i++) { 
     $current = mysql_query("SELECT * FROM likes WHERE id=$i"); 
     while ($row = mysql_fetch_array($current)) { 
      $id1 = $row[0]; 
      $userid1 = $row[1]; 
      $state1 = $row[2]; 
      $articleid1 = $row[3]; 
     if($done == false){ 
     if($email == $userid1 && $articleid1 == $id && $state1 == '1'){ 
      $liked = true; 
      $disliked = false; 
      $done = true; 
      echo "<script>console.log('Liked!');</script>"; 
      break; 
     }else{ 
      $liked = false; 

     } 
     if($email == $userid1 && $articleid1 == $id && $state1 == '0'){ 
      $disliked = false; 
      $liked = false; 
      $done = true; 
      echo "<script>console.log('NONE!');</script>"; 

      break; 
     } 
     if($email == $userid1 && $articleid1 == $id && $state1 == '2'){ 
      $disliked = true; 
      $liked = false; 
      $done = true; 
      echo "<script>console.log('disliked!');</script>"; 

      break; 
     }else{ 
      $disliked = false; 
     } 
     } 
     } 


    } 





?> 
+0

私たちにPHPスクリプトを見せて、誰かがあなたを助けることができるでしょう – RiggsFolly

+0

@RiggsFolly私はしました。 – Jack

+0

あなたのPHPスクリプトは、必要なデータ、理想的にはJSONオブジェクトを返す必要があります。これは、ajax呼び出しの 'success'ハンドラで取り込むことができます。 –

答えて

0

あなたのアヤックスは、次のようになります。

var liked; 
    $.ajax({ 
      type: "GET", 
      url: 'aquireLikes.php?email='+eMail+'&id='+aRticleid+'', 
      type: 'json', 
      success: function(data){ 

      liked = data.liked; 
      } 
    }); 

とPHPで、あなたは返さなければならないでしょう:

echo json_encode($data) 

PHPファイルが出力のみJSONにありデータ!

これは実装例です。

+0

私はphpファイルに戻したい変数に$ dataを置き換えますか? – Jack

+1

いいえ、このような配列を構築する必要があります$ data ['liked'] = ....;次に、json_encode($ data)をエコーし​​ます。 jsではdata.likedのようにアクセスできます – krasipenkov

関連する問題