Php 在<;脚本>;标签?
我试图用PHP在javascript中创建一个对象。这是我的剧本:Php 在<;脚本>;标签?,php,javascript,json,object,Php,Javascript,Json,Object,我试图用PHP在javascript中创建一个对象。这是我的剧本: <script> $(document).ready(function(){ var genres = [ <?php $last = count($userGenres) - 1; $i = 0; foreach($userGenres as $a){ $i++; echo '{"value":"'
<script>
$(document).ready(function(){
var genres = [
<?php
$last = count($userGenres) - 1;
$i = 0;
foreach($userGenres as $a){
$i++;
echo '{"value":"'.$a['genre'].'", "name":"'.$a['name'].'"}';
if($i < $last){
echo ',';
}
}
?>
];
});
</script>
$(文档).ready(函数(){
变量类型=[
];
});
当我检查生成的源代码时,它会创建一个有效的对象,但该标记中的整个脚本现在无法工作。如果没有JSON,该如何解决这个问题
谢谢您忘记关闭
.ready()
方法及其内部的匿名函数
试试这个:
<script>
$(document).ready(function(){
var genres = [
<?php
$last = count($userGenres) - 1;
$i = 0;
foreach($userGenres as $a)
{
$i++;
echo '{"value":"'.$a['genre'].'", "name":"'.$a['name'].'"}';
if($i < $last)
{
echo ',';
}
}
?>
];
});
</script>
$(文档).ready(函数(){
变量类型=[
];
});
您的函数未正确关闭:
}
}
?>
];
}); // <--- add this
</script>
}
}
?>
];
}); // 这:
$(文档).ready(函数(){
变量类型=[
];
});
更改:必须关闭匿名函数和ready()方法。另外,将i++移到末尾,以便覆盖所有情况(您将缺少一个)。你得到的错误是因为你有I++错误。< P>因为评论说你应该考虑使用(PHP函数)JSONYNECONDER,这会变成…
php:
$a = array(
array("gender"=> "male", "name"=> "Bob"),
array("gender"=> "female", "name"=> "Annie")
);
Into json:
[
{gender:"male", name:"Bob"},
{gender:"female", name:"Annie"}
]
回显json_encode($a)会像那样输出它。您没有关闭$(document).ready()
函数。到底什么不起作用?问题是什么?此代码托管在哪里?我猜在PHP文件中?你知道PHP中的json\u encode()
函数吗?你真的应该使用json\u encode
。否则,您的代码就相当脆弱。
php:
$a = array(
array("gender"=> "male", "name"=> "Bob"),
array("gender"=> "female", "name"=> "Annie")
);
Into json:
[
{gender:"male", name:"Bob"},
{gender:"female", name:"Annie"}
]