我想从本地数据库中检索一些值后,在页面上执行javascript函数。但是,一旦PHP代码在我的javascript中,javascript函数甚至不会首先运行。如果我将PHP代码分开并单独运行PHP代码,它可以正常工作,以及javascript代码。这是我的代码:
<?
mysql_connect("127.0.0.1:3307", "username", "password") or die ("Error fetching value from database.");
mysql_select_db("ccmalumni");
$result = mysql_query("SELECT DISTINCT value FROM ccm_bp_xprofile_data WHERE field_id = 16") or die ("What da heck");
$states = db_result_array_values($result);
echo $states[0];
mysql_close();
function db_result_array_values($result) {
for ($array = array(); $row = mysql_fetch_row($result); isset($row[1]) ? $array[$row[1]] = $row[0] : $array[] = $row[0]);
return $array; }
?>
var present = <? echo json_encode($states); ?>;
拜托,我做错了什么?您可以看到完整代码here。
感谢。
答案 0 :(得分:4)
json_encode
将以javascript可以理解的形式输出json字符串,所以基本上像下面一样修复;
var darr = <? echo json_encode($states); ?>; //Already readable JSON
var present = darr ;
答案 1 :(得分:2)
$ .parseJSON()将字符串解析为javascript对象。 var darr
已经是一个对象,不是字符串,因此不应该传递给$.parseJSON()
答案 2 :(得分:0)
如果你想从服务器到客户端获取数据,我认为最好的方法是做一个ajax请求。
因为您不必将服务器与客户端混合(使您的代码更易读,易于理解等)。
在这里,您将获得如何使用jQuery进行简短描述:https://stackoverflow.com/a/415894/1067061
希望它有所帮助,祝你好运!