php javascript 传数组,将php数组传递给javascript数组

我正在寻找将php数组传递给javascript的最佳方法.

我正在制作RPG,当他们登录时,我想从数据库返回他们保存的数据并存储在javascript端的数组中:

为了获取数据,我这样做:

$.getJSON("php/CRUD.php", {"_functionToRun" : ""},

function (returned_data) {

game.data.dataArray.push(returned_data.split(" "));

log("1: " + game.data.dataArray); //output: `1: 120,mymap2`

log("2: " + game.data.dataArray[0]); //output: `2: 120,mymap2`

}

);

PHP:

$qry =

'SELECT *

FROM userstats

WHERE id_user_fk ="' . $_SESSION['userid'] . '"

LIMIT 1';

$result = $mysqli->query($qry) or die(mysqli_error($mysqli));

while ($row = $result->fetch_assoc()) {

$message = $row['experience'] . $row['levelname'];

}

echo json_encode($message);

1)这是将一组值放入js数组的最佳方法吗?

2)为什么我不能使用game.data.dataArray [0]访问game.data.dataArray的某个数据元素.

这些给出相同的输出1:1:120,mymap2

log("1: " + game.data.dataArray);

log("2: " + game.data.dataArray[0]);

应该return_data.split(“”)将返回的字符串分成两个数组元素吗?

编辑:好的,我已经完成了echo json_encode($message);并以引号引起来,但对于game.data.dataArray和game.data.dataArray [0]仍返回相同的结果

1: "120,mymap2"

2: "120,mymap2"

我也将功能更改为$.getJSON

再次更改为

$qry =

'SELECT *

FROM userstats

WHERE id_user_fk ="' . $_SESSION['userid'] . '"';

$result = $mysqli->query($qry) or die(mysqli_error($mysqli));

while ($row = $result->fetch_assoc()) {

$array[] = $row['experience'] . $row['levelname'];

die(json_encode($array[]));

}

JS是:

$.getJSON("php/CRUD.php", {"_functionToRun" : ""},

function (returned_data) {

game.data.dataArray.push(returned_data.split(" "));

log("1: " + game.data.dataArray);

log("2: " + game.data.dataArray[0]);

}

);

输出:

Uncaught melonJS: level

}

和javascript:

$.getJSON("php/CRUD.php", {"_functionToRun" : ""},

function (returned_data) {

// you can push `returned_data` to an array / add it to an object,

// but then you need to keep track of its index

log("1: " + returned_data.experience); //output: `1: 120`

log("2: " + returned_data.levelname); //output: `2: mymap2`

}

);

标签:javascript,php,arrays

来源: https://codeday.me/bug/20191011/1890611.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值