0

从本地数据库检索一些值后,我想在页面上执行 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); ?>;

请问,我做错了什么?你可以在这里看到完整的代码。

谢谢。

4

3 回答 3

4

json_encode将以javascript可以理解的形式输出json字符串,因此基本上修复如下;

var darr = <? echo json_encode($states); ?>;  //Already readable JSON
var present = darr ; 
于 2012-06-28T07:34:04.137 回答
2

$.parseJSON() 将字符串解析为 javascript 对象。var darr已经是一个对象,不是一个字符串,因此不应传递给$.parseJSON()

请参阅$.parseJSON() API 文档

于 2012-06-28T07:41:10.523 回答
0

如果您想从服务器获取数据到客户端,我认为最好的方法是执行 ajax 请求。

因为您不必将服务器与客户端混合
(使您的代码更具可读性,易于理解等)

在这里你可以得到一个简短的描述如何使用 jQuery:https ://stackoverflow.com/a/415894/1067061

希望对你有帮助,祝你好运!

于 2012-06-28T07:41:08.590 回答