无法显示通过ajax调用获得的数据

时间:2014-08-13 16:08:37

标签: javascript jquery

只想通过ajax调用显示我从控制器获得的以下信息:

{"results":{"name":"Bob","city":"Ottawa","reg_date":"12-Feb-2004"}}

这是我的控制器:

$data["results"] = $this->my_model->did_get_data($user_id);
                echo json_encode($data);

以下是我的观点:

<div id="display"></div>

这是我的JS文件:

$.get('controller/get_data', function (data) {

            $( "#display").text(data.results); //???

    }, "json");

3 个答案:

答案 0 :(得分:3)

如果您需要显示数据中的所有属性,那么您可以这样做:

$.get('controller/get_data', function (data) {

   var name = data.results.name;
   var city = data.results.city;
   var reg_date = data.results.reg_date;

            $("#display").text("name :" + name + ", city:" + city + ", reg date:" + reg_date);

    }, "json");

答案 1 :(得分:1)

如果要显示这些属性,则需要单独指定它们:

var string = "Name: "+data.results.name+", City:"+data.results.city;
$( "#display").text(string);

或类似的东西。

答案 2 :(得分:1)

您的方案没有得到很好的解释。你得到的错误是什么?你检查过$(“#display”)是否存在?

但是你可以做一件事:

$.get('controller/get_data', function (data) {

            $( "#display").text(JSON.stringify(data.results)); //???

    }, "json");

以上是如果您想打印以进行检查,但是如果您的#display只有您的数据值,即名称等,那么您需要使用上述答案,即

var name = data.results.name;

$("#display").html(name);