从post到php获取多个变量

从post到php获取多个变量,php,jquery,Php,Jquery,我从数据库中获取数据,而无需通过发布到php页面来重新加载页面 function getdata() { $.post( "somepath/getdata.php", function(o) { var texts = o.split('&;'); // o is respond from php script }); } php如下所示: <?php $var1 = 'bar'; $var2 = 'foo'; //vars come from data

我从数据库中获取数据,而无需通过发布到php页面来重新加载页面

function getdata() {
  $.post( "somepath/getdata.php", function(o) {
    var texts = o.split('&;');
    // o is respond from php script
  });
}
php如下所示:

<?php
$var1 = 'bar';
$var2 = 'foo';
//vars come from database

echo $var1."&;".$var2;
?>


我的问题是,我希望从php传递多个变量,而不将它们放入字符串中,并用某种分隔符(在本例中为
&;
)将它们分隔开。有没有可能直接将这些变量传递给jquery而不回显它们?

在PHP中,您可以将返回变量推送到数组中,它:

这将返回一个如下所示的字符串:

{"var1":"bar","var2":"foo"}
然后在JavaScript中:

function getdata() {
    $.post( "somepath/getdata.php", function(o) {
        var data = JSON.parse(o);
        console.log(data.var1); // logs "bar"
        console.log(data.var2); // logs "foo"
    });
}

结果以字符串形式返回,因此首先需要使用将其解析为JSON对象。然后,您可以使用PHP中设置的键名访问这些值

将所有值插入数组
function getdata() {
    $.post( "somepath/getdata.php", function(o) {
        var data = JSON.parse(o);
        console.log(data.var1); // logs "bar"
        console.log(data.var2); // logs "foo"
    });
}