通过字符串访问json数组? (将字符串转换为var。名称)

时间:2011-03-27 15:36:18

标签: php string json variables

我正在尝试发布“lang_id”var。使用jquery来获取(json)数据的“get_lang.php”。 但我无法访问数据。

现在尝试

  var r = $(this).attr('rel');
  var v = data.r;

但这不起作用,因为“r”是字符串IMO。

也试过

data.window[r] // but...

“get_lang.php”;

$lang_id = (int) ($_POST['lang_id']);

if($lang_id == 1)
{
     $lang['simple'] = 'aaa';
     $lang['array'] = 'bbb';
}

if($lang_id == 2)
{
     $lang['simple'] = 'ccc';
     $lang['array'] = 'ddd';
}

print json_encode($lang);

my.js;

$.post("get_lang.php", { "lang_id": 2}, function(data){

   $('.lang').each(function() {

     var r = $(this).attr('rel');
     var v = data.r;

     $(this).text(v);

    });

},"json");

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

尝试

var v = data[r];

点符号将r解释为字符串而不是变量。

答案 1 :(得分:0)

我想也许你需要告诉jQuery正确的内容类型。将其放在get_lang.php文件的顶部

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

看看jQuery是否喜欢它。