如何将这些字符串从php传递给javascript

uld*_*114 1 javascript php ajax jquery

我在我的应用程序中有4个字符串,我想传递给我的js文件

$a1='[10,20,13,14]';
$a2='[17,15,14,16]';
$a3='[18,24,16,17]';
$a4='[15,54,18,27]';

echo $a1.",".$a2.",".$a3.",".$a4;
Run Code Online (Sandbox Code Playgroud)

我的javascriptcode是

$.ajax({
           type: "POST",
           dataType: "json",
           url: "loaddata.php",
               success: function(data)
            {
           alert(data); //alert 15,54,18,27


          }
     });
Run Code Online (Sandbox Code Playgroud)

我只能获得$ a4字符串,而且我无法获得其他字符串

我如何在PHP中传递这4个字符串并在javascript中设置这4个变量

谢谢;

ick*_*fay 5

将它们编码为JSON.

在PHP方面:

echo json_encode(array("a1" => $a1, "a2" => $a2, "a3" => $a3, "a4" => $a4));
Run Code Online (Sandbox Code Playgroud)

在JavaScript方面:

$.ajax({
    type: "POST",
    dataType: "json",
    url: "loaddata.php",
    success: function(data) {
        var a1=data.a1;
        var a2=data.a2;
        var a3=data.a3;
        var a4=data.a4;
        // do something with a1, a2, a3 and a4
    }
});
Run Code Online (Sandbox Code Playgroud)

如果你想要a1,a2和a3,并且a4是数字数组而不是包含数字的字符串,只需JSON解码PHP端的字符串,然后再发送它们:

echo json_encode(array(
    "a1" => json_decode($a1),
    "a2" => json_decode($a2),
    "a3" => json_decode($a3),
    "a4" => json_decode($a4)
));
Run Code Online (Sandbox Code Playgroud)