从post到php获取多个变量

时间:2016-07-20 08:17:47

标签: 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 database

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

我的问题是我想从php传递多个变量而不将它们放入字符串中并通过某种分隔符(在本例中为&;)分隔它们。是否可以直接将这些变量传递给jquery而不回显它们?

1 个答案:

答案 0 :(得分:1)

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

$result = array();
$result["var1"] = 'bar';
$result["var2"] = 'foo';

echo json_encode($result);

这将返回一个类似于:

的字符串
{"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.parse将其解析为JSON对象。然后,您可以使用PHP

中设置的密钥名称访问这些值