用ajax调用php并返回多个变量?

Joe*_*Joe 2 javascript php variables ajax jquery

我试图使用javascript调用一个PHP脚本,然后将多个变量返回到我的JavaScript,所以我可以操纵它们.

这是我的JS.

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

我的PHP

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

?>
Run Code Online (Sandbox Code Playgroud)

从这里,我怎么能返回变量$ num1和$ num2所以我可以在我的javascript中使用它们.可能吗?

如果我能做到这一点,这也是我计划要做的一个非常基本的想法.

geo*_*off 18

您可以根据需要返回任意数量的变量json_encode().

试试你的PHP:

<?php
echo json_encode(array($num1, $num2));
?>
Run Code Online (Sandbox Code Playgroud)

您可以添加到该数组, $num3, $num4, ...,依此类推.

在JS中,您可以按如下方式访问每个数字.

首先,您需要这行代码来解析成功函数中的编码JSON字符串.

var result = $.parseJSON(output);

这设置result为JSON对象.现在您可以访问以下所有字段result:

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


San*_*dav 5

如果您想要数组来响应ajax请求,则可以在PHP和javascript中使用Json。

PHP代码

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

Js代码

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