繁体   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