2016-10-19 2 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, если выполняются определенные условия. Я хочу сохранить возвращаемое значение этой переменной в наборе переменных 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; 
     } 
     } 
     } 


    } 





?> 
+0

Покажите нам скрипт PHP, и кто-то сможет вам помочь – RiggsFolly

+0

@RiggsFolly я сделал. – Jack

+0

Минимально ваш PHP-скрипт должен будет вернуть нужные вам данные, в идеале - объект JSON, который затем может быть захвачен обработчиком «success» в вашем вызове ajax. –

ответ

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

так что я заменяю $ data переменной, которую хочу вернуть в php-файле? – Jack

+1

Нет, вы должны построить массив, подобный этому $ data ['loved'] = ....; а затем echo json_encode ($ data); и в js вы сможете получить к нему доступ, как data.liked – krasipenkov

Смежные вопросы