我从我的数据库获取数据,而不是通过发布到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而不回显它们?
答案 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