2013-12-10 112 views
0

我必须在点击事件时将PHP JSON数组传递给JavaScript函数。如何通过onclick将php json数组传递到JavaScript函数

JSON编码PHP数组结构之前:

Array 
(
    [group_id] => 307378872724184 
    [cir_id] => 221 
) 

JSON编码阵列结构后:

{"group_id":"307378872724184","cir_id":"221"} 

PHP的JSON数组的样子:

if(!empty($cirGrpArr)) 

    $jsonGrpArr = json_encode($cirGrpArr); 

我需要通过同样变成一个javascript点击功能如下:

<span onclick="Login(this,JSON.stringify('<?php echo $jsonGrpArr; ?>'))">click here</span> 

PHP JSON数组在这个页面中可用,但如何通过点击函数传递它,以便我可以迭代这个JSON数组来做一些其他的事情。

+1

为什么人们坚持写JavaScript作为Java的脚本?没有任何文档,或者任何一半的体面教程,都是这样写的。然而这是一个非常常见的错误。 –

+0

JSON字符串本身是有效的JavaScript。当字符串被打印时,它可以作为数组迭代,或者如果它包含键/值对,则可以迭代该对象。 – Flosculus

+0

什么是$ jsonGrpArr?当您对JavaScript有疑问时,不要向我们展示PHP。向我们展示发送给浏览器的生成代码。 – Quentin

回答

0
<span onclick="Login(this,'<?php echo $jsonGrpArr; ?>')">click here</span> 

function Login(e, jsonString){ 
var data = JSON.parse(jsonString); 
} 
+0

时,这将是一场噩梦,但是当我尝试通过console.log()调试数据时,它在控制台中抛出Uncaught SyntaxError:Unexpected token ILLEGAL。任何想法? –

+0

对不起,我正在使用jQuery,现在更新了答案。 – Bilal

+0

我得到e作为这个对象..但是当试图解析数据后它显示意外的令牌错误... –