我只是想将我的PHP数组转换为JS数组,我在这里做错了什么?
PHP:
// get all the usernames
$login_arr = array();
$sql = "SELECT agent_login FROM agents";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
array_push($login_arr, $row["agent_login"]);
}
$js_login_arr = json_encode($login_arr);
print $js_login_arr; // ["paulyoung","stevefosset","scottvanderlee"]
JS:
var login_arr = "<?= $js_login_arr; ?>";
alert(login_arr); // acn't even get the string in??
var obj = jQuery.parseJSON(login_arr);
答案 0 :(得分:1)
在javascript中删除嵌入式PHP中的引号。符号是一个数组文字,不需要引用(假设js_login_arr
之后的PHP注释是打印到javascript中的内容)。
答案 1 :(得分:1)
一种简单的方法是通过分隔。拿你的数组(除非你需要字段名称,不要使用关联数组),将它内爆成一个由不应该使用的某个字符分隔的字符串,比如说%或者其他什么,然后在JS中就爆炸了那个字符,瞧,你有你的阵列。当一个简单的解决方案可以解决这个问题时,你不需要总是使用像JSON或XML这样的形式。
答案 2 :(得分:1)
如果你想将php数组转换为JSON,那么如果$phpArray
实际上是一个数组,你必须这样做。
var jsJSON = echo json_encode($phpArray)
如果你只想回声并转向JSON,你必须像字符串一样给它:
$phpArray = '{'.$key1.':'.$val1','.$key2':'.$val2.'}';
这肯定会有用。