2013-12-10 3 views
0

Мне нужно передать массив JSON PHP в функцию JavaScript при щелчке.Как передать php json array в функцию JavaScript через onclick

Перед 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-скрипт ?! Нигде, ни в какой документации, ни в каком-нибудь полуподобном учебнике, написано ли так. И все же это очень распространенная ошибка здесь на SO. –

+0

Строка JSON сама по себе является действительным javascript. Когда строка печатается, ее можно повторить как массив или объект, если он содержит пары ключ/значение. – Flosculus

+0

Что такое '$ jsonGrpArr'? Не показывайте нам PHP, когда у вас есть вопрос о JavaScript. Покажите нам сгенерированный код, который отправляется в браузер. – 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: Неожиданный токен ILLEGAL в консоли. Есть идеи? –

+0

Извините, но я использовал jQuery, обновленный ответ. – Bilal

+0

Я получаю e как этот объект .. но при попытке отладки данных после разбора он показывает неожиданную ошибку токена ... –

Смежные вопросы