如何在jquery中获取php数组值
Posted
技术标签:
【中文标题】如何在jquery中获取php数组值【英文标题】:how to get php array value in jquery 【发布时间】:2016-08-20 02:44:12 【问题描述】:我很困惑如何在 Jquery 中获取 php 生成的 Array() 值。 请帮助一些人。
我的数组结构是:
Var data = Array ( [0] => Array ( [id] => 11 [date] => 2016-04-26 13:37:16 [member_id] => 46 [quantity] => 1 [costper_litre] => 40 [total_amount] => 40 [paid_amount] => 30 [balance_amount] => 10 [entry_date] => 26-04-2016 ) );
我以前是这样在 jquery 中获取价值的:
<script>
var account_id = data['entry_date'];
alert(account_id);
</script>
给出未定义的错误。
【问题讨论】:
我不太明白你的真实代码是什么。哪些代码来自 PHP,哪些代码来自 JQuery。 您似乎不确定客户端代码和服务器端代码之间的区别。您发布的代码是伪代码,而不是实际代码。通常,javascript 可以通过 AJAX 或通过服务器在源代码中回显该数据来访问服务器端内容,以便 JavaScript 可以访问它。 公共函数editoutput_entries($mid) $conn = $this->conn; $jsonData = 数组(); $sql = "SELECT * FROM ".CASH_BOOK." where id=$mid"; $result=$conn->查询($sql); $array = $result->fetch_assoc(); $jsonData[] = $数组;返回$json数据; 这是真正的代码,这个数组来自这里 How to pass variables and data from PHP to JavaScript?的可能重复 【参考方案1】:使用 json_encode:
var data = <?php echo json_encode($php_array); ?>;
【讨论】:
我不想在 php 中 @WebsnapDesigns 这是 javascript 代码......你想将你的 php 变量转换为 javascript,这就是它的作用...... 您需要使用 ajax 发布 jquery 数组并将该数组保存到 php 文件中的 php 变量中。我认为这是唯一的方法。【参考方案2】:你得到undefined
,因为entry_date
key
不在data
数组中,它在data
的第零个索引中
因此尝试:
$account_id = data[0]['entry_date'];
alert($account_id);`
【讨论】:
也不会说未定义 是数组还是对象? 请写console.log(data);在脚本标签中,并检查您在浏览器控制台中得到的内容 console.log(data) 的结果是什么; ?【参考方案3】:试试看:-
<?php
$var = Array ( [0] => Array ( [id] => 11 [date] => 2016-04-26 13:37:16 [member_id] => 46 [quantity] => 1 [costper_litre] => 40 [total_amount] => 40 [paid_amount] => 30 [balance_amount] => 10 [entry_date] => 26-04-2016 );
?>
<script>
$( document ).ready(function()
Var data = <?php echo $var[]; ?>
);
</script>
或
<script>
Var data = <?php print_r($var); ?>
</script>
【讨论】:
不,我只想在 jquery 中显示数组中的值【参考方案4】:假设您使用的是 ajax,请尝试以下操作;
public function editoutput_entries($mid) $conn = $this->conn; $jsonData = array(); $sql = "SELECT * FROM ".CASH_BOOK." where id=$mid"; $result=$conn->query($sql); $array = $result->fetch_assoc(); $jsonData['result'] = $array; return json_encode($jsonData);
在ajax成功函数中:
success:function(data)
var account_id = data.result.entry_date;
alert(account_id);
【讨论】:
你是如何将值从 php 传递给 js 的? 你从 php 到 jquery 不工作.....以及为什么你在这里使用结果 -> var account_id = data.result.entry_date; 我更改了返回数据的函数 这里是结构:["id":"11","date":"2016-04-26 13:37:16","member_id":"46","quantity" :"1","costper_litre":"40","total_amount":"40","paid_amount":"30","balance_amount":"10","entry_date":"26-04-2016"] 【参考方案5】:您应该阅读 JSON 或只是谷歌“如何将变量从 PHP 传递到 JavaScript”,有很多关于这可以完成的多种方式的信息。 Other *** Question
<script>
data = JSON.parse(<?PHP echo json_encode($array); ?>);
</script>
<script>
alert(data); //for testing purposes
var account_id = data['entry_date'];
alert(account_id);
</script>
【讨论】:
$array 应该被你保存数组的变量替换。你应该更新你的问题以包含更多信息,你给了我们一个 php 数组的 print_r,我们需要知道您在哪里设置它以及 jquery 代码与 php 代码的比较位置。它可能在 2 个完全不同的文件中!最好只是阅读我发给你的另一个问题。以上是关于如何在jquery中获取php数组值的主要内容,如果未能解决你的问题,请参考以下文章