Javascript 如何在codeigniter中获取json对象的值

Javascript 如何在codeigniter中获取json对象的值,javascript,jquery,ajax,codeigniter,Javascript,Jquery,Ajax,Codeigniter,我正在使用codeigniter框架开发我的网站。目前,我正在使用jQuery发送一个AJAX请求,以从服务器获取数据。我尝试了两种方法,一种是将数据放在PHP关联数组中,另一种是放在JSON对象中。请查看我从AJAX请求返回的数据: { "o": [ { "q_id": "83", "t_id": "4", "question": "jjjjs.jfdaskldjf", "o

我正在使用codeigniter框架开发我的网站。目前,我正在使用jQuery发送一个AJAX请求,以从服务器获取数据。我尝试了两种方法,一种是将数据放在PHP关联数组中,另一种是放在JSON对象中。请查看我从AJAX请求返回的数据:

{
    "o": [
        {
            "q_id": "83",
            "t_id": "4",
            "question": "jjjjs.jfdaskldjf",
            "option1": "jjjjasdfasdf",
            "option2": "jjj",
            "option3": "lll",
            "option4": "lll",
            "answer": "lll",
            "marks": "22"
        },
        {
            "q_id": "84",
            "t_id": "4",
            "question": "This is testing",
            "option1": "2",
            "option2": "7",
            "option3": "8",
            "option4": "9",
            "answer": "2",
            "marks": "2"
        },
        {
            "q_id": "85",
            "t_id": "4",
            "question": "hello this is another test",
            "option1": "a",
            "option2": "b",
            "option3": "c",
            "option4": "d",
            "answer": "a",
            "marks": "2"
        },
        {
            "q_id": "86",
            "t_id": "4",
            "question": "another test",
            "option1": "8",
            "option2": "9",
            "option3": "0",
            "option4": "1",
            "answer": "1",
            "marks": "2"
        },
        {
            "q_id": "87",
            "t_id": "4",
            "question": "last question ",
            "option1": "z",
            "option2": "x",
            "option3": "c",
            "option4": "v",
            "answer": "c",
            "marks": "2"
        }
    ]
}
我访问它的方式是:

alert(data["o"][0]);
但出现的错误是:

未捕获的TypeError:无法读取未定义的属性“0”


有谁能给我一些建议,告诉我如何获取值或将对象存储在数组中。

因为这里是一个对象而不是数组。.使用

试试这个

alert(data.o[0])
使用loop
$。每个
函数都可以获取
o

data.o[0].each(function(i,v){
   console.log(v.q_id);
});

因为o是一个对象而不是数组。请使用

试试这个

alert(data.o[0])
使用loop
$。每个
函数都可以获取
o

data.o[0].each(function(i,v){
   console.log(v.q_id);
});

  • 是由服务器与json一起发送的吗

下次检查:


  • 使用带有
    datatype='json'

最后,, 然后访问对象
data.o['0'].q_id


  • 是由服务器与json一起发送的吗

下次检查:


  • 使用带有
    datatype='json'

最后,,
然后,要访问对象
数据.o['0'].q_id

请尝试使用Std对象捕获并向javascript代码发送JSON

我的代码如下:

var模型=新的StdObject(); model->blabla=“某物”


收益模型

尝试使用Std对象捕获发送JSON到javascript代码的消息

我的代码如下:

var模型=新的StdObject(); model->blabla=“某物”


收益模型

您可以将发出ajax请求的jQuery代码发布到服务器吗?您可以将发出ajax请求的jQuery代码发布到服务器吗?这是我在ajax请求上调用的函数,它返回有问题的数据。我尝试使用alert(data.o[0]);但仍然会得到相同的错误。公共函数getQuestions(){$this->includeDB();$qId=$this->input->POST('id');$array=$this->userDBclass->getQuestions($qId);$data['o']=$array;echo json_encode($data);}}这是我的函数,在ajax请求时调用,它返回问题中显示的数据。我尝试使用alert(data.o[0]);但仍然会得到相同的错误。公共函数getQuestions(){$this->includeDB();$qId=$this->input->POST('id');$array=$this->userDBclass->getQuestions($qId);$data['o']=$array;echo json_encode($data);}}如果我在获取数据的页面中写入标题,页面显示我正在使用codeigniter框架的html,则仍然不起作用。我尝试使用data.o['0'].q_id和data.o['0']['q_id']。但是现在仍然无法在视图文件或控制器中添加标题?感谢mikakun,现在可以了,我只在ajax函数中添加了数据类型:'json',现在我以对象形式获取数据,非常感谢,如果我在我的页面中写入标题,在那里获取数据,页面显示html,我正在使用codeigniter框架。我尝试使用data.o['0'].q_id和data.o['0']['q_id']。但是现在仍然无法在视图文件或控制器中添加标题?谢谢mikakun现在可以了我只在ajax函数中添加数据类型:'json'现在我以对象形式获取数据非常感谢