簡體   English   中英

JQuery和Ajax:如何將返回的數據存儲在變量中?

[英]JQuery and Ajax: How to store returned data in variables?

我有以下代碼:

  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。 我想將這些變量的返回值存儲在頁面上的一組JavaScript變量中,這些JavaScript變量調用aquireLikes.php頁面。 我怎樣才能做到這一點? 可能是這樣,但實際上有效:

  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){

                var liked = aquirelikes.php.$liked;
              }
          });
      };

我知道以上完全是胡說八道,但您會得到提示。 那么如何將返回的值存儲在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;
         }
       }
      }


     }





?>

您的ajax如下所示:

    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數據!

這僅僅是實現的例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM