繁体   English   中英

PHP数组转换为javascript数组

[英]PHP arrays into javascript arrays

我对如何从PHP将数组实现到JS感到困惑。

我正在为此进行测试-如果得到高度支持,最终我将使用长轮询或websocket,但这是我所拥有的:

$get = mysql_query("SELECT x,y,sid FROM player_town WHERE uid='1'") or die(mysql_error());
$row = mysql_fetch_assoc($get);
$data = json_encode($row);

然后,将脚本放到最下面:

<script>var data = Array(<? $data; ?>)</script>
<script type="text/javascript" src="js.js"></script>

但是在js.js中,它表示未定义,但设置了$ data。 这是错误:

x is not defined

在js.js中,我做了alert(data[x]); 我不确定。

我的json_encode看起来像这样:

{"x":"283","y":"99","sid":"1"}

有任何想法吗?

不知道为什么需要将json字符串包装在Array中,您可以这样做

var data = <?php echo $data; ?>;

-

要获取js中数据的值,您可以执行data.x或data [“ x”]

确保你echo荷兰国际集团的PHP数据到<script>标记

<script>var data = Array(<?php echo $data; ?>)</script>

顺便说一句,避免在生产环境中使用短标签( <??> )是一个好主意-许多服务器默认情况下都将它们禁用,这是使代码中断的一种非常烦人的方法。

您应该尝试以下方法:

var data = <?= $data ?>

不确定<? $data; ?> <? $data; ?> <? $data; ?>是否输入错误,但您应该使用<?=$data;?><?php echo $data; ?> <?php echo $data; ?>

您可以使用AJAX(容易得多)。 使您的PHP脚本echo $data ,然后使用jQuery ajax请求将HTML文件中的数据作为JSON。 例如:

$.ajax({
    url: script_url,
    dataType: 'json',
    success: function(json)
    {
         ...
    }
});

我同意您评论中的答案。 我将对yourFile.php进行AJAX调用,然后发送回JSON编码的响应。 所以这是我的伪代码。

1. Make AJAX request

$.ajax({
    url: "yourFile.php",
    dataType: 'json',
    success: function(data)
    {
         console.log(data);
    }
});

2. Make sure that your PHP file also returns header for JSON

header('Content-type: application/json');

2. Return {"x":"283","y":"99","sid":"1"} as data on your ajax request


3. call the values by using data.x or data.y or data.sid

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM