1

我有这个代码

        $ref = addslashes(htmlspecialchars(json_encode($value)));
        echo '<script>var message_store_'.$key.'=$.parseJSON('.$ref.');alert(message_store_'.$key.');</script>';
        echo '<div class="message_entry" id ="message_entry'.$key.'" onclick="open_up_thread(\''.$ref.'\',\''.$key.'\');">'.$key.'</div>';
        $recent = end($value);
        echo '<div id ="recent_message_log_entry'.$key.'"><div>'.$recent['message'].'</div><div>'.$recent['date_posted'].'</div></div>';

我在将数组存储在全局 JavaScript 变量中时遇到问题。但是我的 div onclick 事件工作正常,数组转换为我想要的,函数 open_up_thread 正在解析编码的 JSON 对象。

我需要在触发 onclick 事件之前跟踪该数组(在 onclick 之后它很容易,因为它已经转换了)。

那么我如何实现将 php 数组作为 php 中的 JSON 存储到全局 javascript 对象。

以及为什么我有 onclick 工作但不是变量的任何原因

提前致谢

4

2 回答 2

0

在 $ref 周围加上单引号echo '<script>var message_store_'.$key.'=$.parseJSON(\''.$ref.'\');

$ref = json_encode($value);
        echo '<script>var message_store_'.$key.'='.$ref.';alert(message_store_'.$key.');</script>';
        echo '<div class="message_entry" id ="message_entry'.$key.'" onclick="open_up_thread(\''.$ref.'\',\''.$key.'\');">'.$key.'</div>';
        $recent = end($value);
        echo '<div id ="recent_message_log_entry'.$key.'"><div>'.$recent['message'].'</div><div>'.$recent['date_posted'].'</div></div>';
于 2013-08-07T20:14:52.750 回答
0

删除$.parseJSON()函数并删除htmlspecialcharsand addslashes

$ref = json_encode($value);
echo '<script>var message_store_'.$key.'='.$ref.';alert(message_store_'.$key.');</script>';

JSON 是一种可以直接解析为变量的格式。

于 2013-08-07T20:18:46.387 回答