将变量从控制器传递到javascript中

时间:2015-03-24 15:57:56

标签: javascript jquery ajax json codeigniter

我正在尝试通过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

1 个答案:

答案 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);
});