将PHP字符串数组作为JSON传递给JavaScript数组不起作用?
我正在尝试将数组从PHP转换为JavaScript,但它似乎不起作用。这是我的PHP代码将PHP字符串数组作为JSON传递给JavaScript数组不起作用?,javascript,php,arrays,json,Javascript,Php,Arrays,Json,我正在尝试将数组从PHP转换为JavaScript,但它似乎不起作用。这是我的PHP代码query.PHP: $query = 'SELECT coupon FROM '.$disc; $coupdb = array(); $results = $newdb->get_results($query); foreach( $results as $result ) $coupdb[] = $result->coupon; echo $coupdb[0]; //This shows p
query.PHP
:
$query = 'SELECT coupon FROM '.$disc;
$coupdb = array();
$results = $newdb->get_results($query);
foreach( $results as $result )
$coupdb[] = $result->coupon;
echo $coupdb[0]; //This shows perfectly the content but I want to send this array to a Javascript file.
我也尝试过使用JSON:
$coupdb_js = json_encode($coupdb);
var coupdb = <?php echo $coupdb_js ?>;
alert(coupdb[0]);
这是我的JavaScript文件discount.js
:
var coupdb = <?php echo $coupdb ?>;
alert(coupdb[0]);
var-coupdb=;
警报(coupdb[0]);
使用JSON:
$coupdb_js = json_encode($coupdb);
var coupdb = <?php echo $coupdb_js ?>;
alert(coupdb[0]);
var-coupdb=;
警报(coupdb[0]);
@Jon给我看了一个“意想不到的标记
最后我找到了一个方法,这是一个简单的方法,但可能不是最好的:)
在我的php中,我将从bbdd捕获的coupdb变量发送到javascript文件:
<?php
$DB_USER="dbuser";
$DB_PASSWORD="passdb";
$DB_NAME="dbname";
$DB_HOST="dbhost";
$newdb = new wpdb($DB_USER, $DB_PASSWORD, $DB_NAME, $DB_HOST);
$disc="discounts";
$query = 'SELECT coupon FROM '.$disc;
$coupdb = array();
$results = $newdb->get_results($query);
foreach( $results as $result )
$coupdb[] = $result->coupon;
?>
<script type="text/javascript">
var coupdb = <?php echo json_encode($coupdb); ?>;
</script>
var-coupdb=;
。你看了生成的JS了吗?很明显,var-coupdb=Array;
是不正确的。是的,你实际上没有对任何东西进行json编码。它只是试图将其转换为字符串,但不起作用。而且你也没有尝试对其进行json解码。对不起,我正在编辑这个问题。@Markasoftware$newdbs我的Wordpress外部数据库连接。查询正在运行,我可以使用以下命令显示数组:echo$coupdb[0];或echo$coupdb[1];警报(coupdb)的结果是什么
?您收到警报对话框了吗?它说了什么?另外,您正在用web服务器测试它吗?您确定它以PHP脚本的形式运行您的.js
-文件吗?这可能是的副本。您完全正确,这是在一个.js文件中,无法识别PHP标记。@user3321425您的代码和示例很难从我们这边调试。您是alize您通过web服务器将PHP文件作为URL加载,然后在jQuery中使用类似ParseJSON的东西进行解码?很抱歉@JakeGould很难理解,因为有很多代码要粘贴。但是简历是我已经证明通过$coupdb[]对于一个包含json和不包含json的.js文件,结果都很糟糕。似乎php标记的解释有问题。如果我使用标记,那么标记也有问题。我将阅读更多关于Wordpress javascript标准的内容。非常感谢。