2013-03-28 2 views
0

Я начал изучать jquery AJAX. У меня возникла проблема, и мне было интересно, могли бы вы, ребята, помочь мне. Я пытаюсь передать php-переменную обратно в jquery, но она отображается как [object Object]. Я отправлю свой код ниже.Как передать php-переменные в jquery AJAX?

index.html:

<!DOCTYPE html> 
<html> 
<head> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> 
</script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function() { 
     $("p").text($.get("return.php")); 
    }); 
}); 
</script> 
</head> 

<body> 
<p>This is a test!</p> 
<button>Click Here</button> 
</body> 
</html> 

return.php:

<?php 
    $message = "Another test!"; 
    echo $message; 
?> 

Так что же это, что мне нужно сделать, чтобы передать переменные PHP $ сообщения в абзац с помощью JQuery Ajax?

Я знаю, что могу просто сделать, если я изменил index.html на index.php, но затем, если $ message позже изменится, мне нужно перезагрузить страницу. Я пытаюсь научиться создавать динамический контент, не перезагружая страницу.

Спасибо за любую помощь, которую вы предоставляете! :-)

ответ

4

Вам придется ждать, пока данные не будут возвращены, прежде чем вы можете использовать его:

$(document).ready(function(){ 
    $("button").click(function() { 
     $.get("return.php", function(data) { 
      $("p").text(data); 
     }); 
    }); 
}); 
+0

Спасибо! Вот так! :-) – ByronArn

3

Добавить обратный вызов get.

$.get("return.php", function(data) { 
    $("p").text(data); 
}); 
0

Функцию обратного вызова можно использовать в функции .get.

$(document).ready(function(){ 
    $("button").click(function() { 
     $.get("return.php",function(data){ 
      $("p").text(data); 
     }); 
    }); 
}); 

Здесь вы можете передать тип данных, а также в какой форме вы хотите получить ответ с сервера. Предположит, что вы хотите вернуть anyother типа данных (т.е. JSon.) От сервера, просто использовать тип данные с ним, как это:

$(document).ready(function(){ 
     $("button").click(function() { 
      $.get("return.php",function(data){ 
       $("p").text(data); 
      },"json"); 
     }); 
    }); 

Более подробно см: http://api.jquery.com/jQuery.get/

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