-1

我有以下数组:

Array
(
[0] => Array
    (
        [id] => 179
        [user_id] => 191
        [behandeling] => msg
    )
)

由于某种原因,我无法获得'behandeling'的价值..我尝试了几种方法,例如:

console.debug(msg[0].behandeling);

有关构建数组的更多信息:

$d[] = array('id' => $row['id'],
        'user_id' => $row['user_id'],
        'behandeling' => $row['behandeling']);
//print_r($d);
//echo json_encode($d);

如果我使用 print_r($d),behandeling 的值 = 正确。如果我使用 json_encode($d),behandeling 的值为 null..

编辑:

我想我发现了问题.. 提交数据时,数据以这种方式未转义地发送: var data = 'actie=Wijzig&module=treatment&treatments=' + treatment.val();

这意味着如果有某些字符需要转义,等等。数据字符串被破坏......这导致空和/或半个消息......

编辑2:

上述发现非常重要,但描述了网站的不同部分。保存数据现在很好,但仍然难以返回一些消息的数据值..

4

1 回答 1

0

如评论中所述,这是一个 PHP 数组,您可以尝试以下操作:

<script type="text/javascript">
  var myArray = <?=json_encode($array)?>;
  var behandeling = myArray[0].behandleing;
</script>

更新:

我相信由于您的标头,Javascript 会将 JSON 解释为常规字符串content-type。你应该尝试添加

header('Content-Type: application/json'); 

输出 JSON 时。

或者,如果由于某种原因您无法更改标题并且您正在使用 jQuery,您可以尝试:

var parsed = $.parseJSON(ajaxResults);
var behandling = parsed[0].behandling;

如果没有 jQuery,您可以使用eval,但是会涉及安全隐患。

于 2013-02-05T22:15:48.320 回答