Я пытаюсь использовать 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 $fileId = isset($_GET['id'])?$_GET['id']:0; echo json_encode(array("field"=>$fileId,"num1"=>1,"num2"=>2)); ?>
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); } });