Использование ajax для вызова php и возврата нескольких переменных?

Я пытаюсь использовать javascript для вызова php-скрипта, который затем вернет несколько переменных обратно в мой javascript, чтобы я мог ими манипулировать.

Это мой JS.

$.ajax({ url: 'test.php', data: { id : lastFileId }, success: function(output) { alert(output); } }); 

мой PHP

 <?php $fileId = ($_GET['id']); $num1 = 1; $num2 = 2; ?> 

Отсюда, как я могу возвращать переменные $ num1 и $ num2, поэтому я могу использовать их в своем javascript. Является ли это возможным?

также это очень основная идея того, что я планировал сделать, если я смогу добиться этого.

Вы можете вернуть столько переменных, сколько хотите, с помощью json_encode() .

Попробуйте в своем PHP:

 <?php echo json_encode(array($num1, $num2)); ?> 

Вы можете добавить к этому массиву , $num3, $num4, ... и так далее.

В вашем JS вы можете получить доступ к каждому номеру следующим образом.

Во-первых , вам понадобится эта строка кода для анализа кодированной строки JSON в вашей функции успеха.

var result = $.parseJSON(output);

Это устанавливает result как объект JSON. Теперь вы можете получить доступ ко всем полям в result :

  • result[0]$num1 в PHP
  • result[1]$num2 в PHP

Вы можете пойти на Json в PHP и javascript, если вы хотите, чтобы массив ответил на запрос ajax

PHP-код

 <?php $fileId = isset($_GET['id'])?$_GET['id']:0; echo json_encode(array("field"=>$fileId,"num1"=>1,"num2"=>2)); ?> 

Код Js

 jQuery.ajax({ type: "GET", url: 'test.php', dataType: "json", success: function(response) { console.log(response); alert(response.num1); } }); 

конвертировать json в объект

 jQuery.ajax({ type: "GET", url: 'test.php', dataType: "json", success: function(response) { item=JSON.parse(response); console.log(item); alert(item.num1); } });