我正在尝试通过加载一些数据。 jquery
$get_desc = "SELECT tekst_id,overskrift FROM rr_tekster WHERE beskrivelse_id = '". $_POST['beskrivelse_id'] ."' AND status = 1";
$select = mysql_query($get_desc)or die(mysql_error());
while($row_option = mysql_fetch_array($select)){
$output .= '<option value="'.$row_option['tekst_id'].'">'.$row_option['overskrift'].'</option>';
}
$arr = array (
'list_options' => $output
);
echo json_encode($arr);
我的jquery看起来像这样
$.post(action, { beskrivelse_id:des_id }, function(data){
$(load_div).fadeOut();
$(result).html('<select name="tekster">'+data.list_options+'</select>').fadeIn(500);
},'json');
“错误”:{“list_options”:null}
在firebug中它在输出中给出了一个null错误...我希望它显示我的数据库中的所有行,现在它应该显示3行..
但没有..: - /为什么?
答案 0 :(得分:0)
你不需要json来实现你想要实现的目标:
$get_desc = "SELECT tekst_id,overskrift FROM rr_tekster WHERE beskrivelse_id = '". $_POST['beskrivelse_id'] ."' AND status = 1";
$select = mysql_query($get_desc)or die(mysql_error());
while($row_option = mysql_fetch_array($select)){
$output .= '<option value="'.$row_option['tekst_id'].'">'.$row_option['overskrift'].'</option>';
}
echo $output;
$.post(action, { beskrivelse_id:des_id }, function(data){
$(load_div).fadeOut();
$(result).html('<select name="tekster">'+data+'</select>').fadeIn(500);
});
答案 1 :(得分:0)
您似乎是对数组进行JSON编码,在JSON语法中看起来像[ ]
。但是,您使用对象语法(data.list_options
)访问它。你可以这样做:
$responseobj = new stdClass();
$responseobj->list_options = $output;
echo json_encode($responseobj);
答案 2 :(得分:0)
$ output为NULL,并且你(不好!)没有在开始时初始化$ output而你不检查,如果$ output在PHP中是空的。
答案 3 :(得分:0)
我遇到了json_encode的问题。我只能得到它来编码类,所以我必须实例化一个对象和json_encode该对象来返回我的数据。