我正在尝试通过JSON将变量从控制器传递到视图。 我想要检查的数据是可用的,但是如果我尝试像“data.status”那样访问它,它会以未定义的形式返回。
我在控制器中使用的代码是:
public function checkserie(){
$data['status'] = 'success';
$this->output->set_output(json_encode($data, JSON_PRETTY_PRINT));
}
我在视图中使用的代码是:
$.post('<?php echo base_url("index.php/manageorderseries/checkserie")?>', { name: $("#seriename").val()}).done(function(data) {
alert(data.status);
});
我还看到当我用“数据”替换“data.status”时,我在警报中收到以下内容:
{status: "success"}
我错过了将变量作为“data.status”访问的内容?
提前致谢! 亲切的问候,
Jonas Vandevelde
答案 0 :(得分:1)
您获得的响应是JSON,因此如果您想像普通的JS对象一样使用它,JS需要解析它。
您可以使用JSON.parse()或$.parseJSON()(因为您已经在使用jQuery)来完成此任务。
$.post('<?php echo base_url("index.php/manageorderseries/checkserie")?>', { name: $("#seriename").val()}).done(function(data) {
var dataObj = JSON.parse(data);
alert(dataObj.status);
});