将参数从php传递给javascript

时间:2013-02-07 21:29:27

标签: php javascript

我编写了一个代码,它将查询发送到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"

我的代码出在哪里?

3 个答案:

答案 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);
}