Joe Joe - 4 months ago 8x
PHP Question

Using ajax to call php and return multiple variables?

I am trying to use javascript to call a php script which then will return multiple variables back to my javascript so I can manipulate them.

This is my JS.

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

my PHP

$fileId = ($_GET['id']);
$num1 = 1;
$num2 = 2;


From here, how can I return variables $num1 and $num2 so i can use them in my javascript. Is it possible?

also this is a very basic idea of what I have planned to do if I can achieve this.


You can return arbitrarily many variables with json_encode().

Try in your PHP:

echo json_encode(array($num1, $num2));

You can add to that array , $num3, $num4, ... and so on.

In your JS, you can access each number as follows.

First, you will need this line of code to parse the encoded JSON string, in your success function.

var result = $.parseJSON(output);

That sets result as a JSON object. Now you can access all fields within result:

  • result[0] -- $num1 in PHP
  • result[1] -- $num2 in PHP