没有定义引用错误数组
Reference Error array is not defined
我尝试了以下代码从数据库中检索值,并使用php数组将它们存储在javascript数组中。我尝试使用下面的代码,但它返回给我一个引用错误数组没有定义。代码如下:
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("cerebra", $con);
$sql="select name from details order by download desc limit 20";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
$query=mysql_query($sql,$con);
$names=array();
$index=0;
while($row=mysql_fetch_array($query)){
$names[$index]=$row[0];
$index++;
}
?>
<script>
var comp=new array();
<?php
$i=0;
foreach($names as $a){
$i++;
echo "comp[$i]='".$a."';'n";
}
?>
for(i=0;i<comp.length;i++)
alert(comp[i]);
</script>
是var comp = new Array()
,不是array()
。不管怎样,跳过这个,马上使用var comp = []
。
我觉得你处理这件事的方式不对。这里有一个更好的方法:
<?php
$phpArray = array("foo", "bar", "baz");
//....
?>
<script type="text/javascript">
var jsArray = <? echo json_encode($phpArray); ?>;
</script>
从这里采取:如何使用数组值从php到javascript?
new array();
应该new Array();
编辑:你也应该停止使用mysql_*函数
首先,为什么要运行两次查询?
...
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
$query=mysql_query($sql,$con);
...
其次,在Javascript中数组对象被称为Array
,而不是array
。所以试试
var comp = new Array();
更新:
,但第一个值是未定义的。怎么会?——user2129868
因为在获得值之前增加了$i
。所以$i
是1
,而不是0
在你的Javascript的第一次迭代。
所以改变
<script>
var comp=new array();
<?php
$i=0;
foreach($names as $a){
$i++;
echo "comp[$i]='".$a."';'n";
}
?>
for(i=0;i<comp.length;i++)
alert(comp[i]);
</script>
<script>
var comp=new array();
<?php
$i=0;
foreach($names as $a){
echo "comp[".$i++."]='".$a."';'n";
}
?>
for(i=0;i<comp.length;i++)
alert(comp[i]);
</script>
否则当你试图获取
元素时for(i=0;i<comp.length;i++)
alert(comp[i]);
0
将未定义,因为1
是您添加的第一个索引。
相关文章:
- JavaScript数组值设置错误
- jQuery Ajax数组序列化错误
- 如何避免“;使用数组文字表示法“;以下javascript代码中的jslint错误
- 使用Javascript向ID数组发送通知时出现Facebook访问令牌错误
- 断言错误:断言失败:坐标数组的长度应与步幅匹配
- 按 [field] 值对 javascript 数组进行排序会给出错误的顺序
- AngularJS错误处理:根据错误数组显示错误
- 数组类型字符串导致类型错误的对象
- 传递数组以馈送 svg.js 的折线数组方法会引发错误
- 给出动态数组时出现 jsTree 错误
- 嵌套的 Jquery 每个 2D 数组错误地重复表单元格
- 谷歌图表错误'不是数组'关于Ajax更新
- Javascript筛选器数组抛出错误并崩溃
- 如果字符串中存在错误,请检查数组中的char
- [可能的错误]数组中作为对象属性的值设置为未定义
- Knockout,无法解析空可观察数组中的绑定错误
- ember dev fixes错误:“;断言失败:findAll的响应必须是数组,而不是未定义的“”;
- 类型错误:数组未定义
- 没有定义引用错误数组
- 在我的javascript错误数组(键/值)中循环