如何通过ajax检索从控制器发送到视图的数组?

时间:2015-12-02 04:23:45

标签: javascript php jquery ajax codeigniter

我是jquery和ajax的新手。我真的不知道如何从json_encode显示从控制器发送的数组结果。 下面是控制器中的代码:

控制器

            $totaldata['data'] = array('totalscore' =>$totalscore,'totalwicket' =>$totalwicket,'totalover' =>$totalover,'totalextra' =>$totalextra);

            $this->output->set_output(json_encode($totaldata));

Jquery的

  $.ajax({
               url: 'xxxxxxxxx',
               type : 'POST',
               data:{
                        xxxx : arrayValue,
                        id    : matchid,
               },
               success: function(dataone){
                  //$('.addmatchsuccess').html(dataone).show();

                    //setTimeout(function() {location.reload() },3000);
               }
            });

问题 我希望将每个数组值放在视图中的输入字段中...我无法弄清楚它将如何工作。请任何帮助将不胜感激。谢谢

3 个答案:

答案 0 :(得分:1)

告诉我这是否适合你。

success: function(dataone){
                  var parsedJson = $.parseJSON(dataone);
                  var totalscore = parsedJson.totalscore;
                  var totalwicket = parsedJson.totalwicket
     }

答案 1 :(得分:1)

  

如果回复的格式为string,那么您需要使用JSON.parse进行解析,否则您可以从keys(dataone)

阅读object

试试这个:

if (typeOf dataone === 'string') {
  myData = JSON.parse(dataone)['data'];
} else {
  myData = dataone['data'];
}
var totalscore = myData['totalscore'];;
var totalwicket = myData['totalwicket'];
var totalover = myData['totalover'];
var totalextra = myData['totalextra'];

答案 2 :(得分:0)

你可以这样做:

    success: function(dataone){
              var json_response= eval('('+response+')');
              var totalscore =json_response.totalscore
              var totalwicket =json_response.totalwicket
              var totalover = json_response.totalover
              var totalextra = json_response.totalextra
           }