我编写了一个代码,它将查询发送到mysql数据库,然后使用$ row = mysql_fetch_assoc($ result)逐行获取结果。
我需要将每行的数据发送到javascript函数。
以下是我使用的代码:
while($row = mysql_fetch_assoc($result))
{
echo '<script type="text/javascript">'.'queryResults('. json_encode($row) . ');'.'</script>';
}
在我的javascript函数中,我有:
function queryResults(data){
var results = JSON.parse(data);}
然而,我收到错误:
"SyntaxError: JSON.parse: unexpected character"
我的代码出在哪里?
答案 0 :(得分:2)
JSON被解释为JavaScript object literal - 您实际上将对象传递给queryResults
函数。要使用JSON.parse()
(您不必使用),您需要将其包装在JavaScript字符串分隔符中并转义json_encode
返回的字符串中的所有引号,以便JavaScript看到有效的字符串。
顺便说一句,您的示例函数缺少其签名中的data
参数。
答案 1 :(得分:0)
您需要表格的字段名称。
json_encode($row['fieldname'])
答案 2 :(得分:0)
我认为问题是你没有在函数签名中指定参数。这可以解决问题:
function queryResults(data){
var results = JSON.parse(data);
}