使用JSON传递数据并在视图页面中检索数据


Pass data using JSON and retrieve it in view page

这是我的控制器的一部分,我需要将变量$coinPacks中的数据传递到我的视图页


else {
            $coinPacks=$packs->getPacks();
            // print_r($coinPacks);
            echo $this->_helper->json(array('error'=>array('error_code'=>300,'error_message'=>'No enough coins to do correction.','pack'=>$coinPacks)));
        }

这里是视图页部分


alert(JSON.stringify(response.error));
         // foreach($pack as $newpacks)
         // {
            answerContent = answerContent + '<p class="buy-coins" value="1" coins="100">200 &nbsp; &nbsp; &nbsp; &nbsp; $1</p><p>';
            answerContent = answerContent + '<p class="buy-coins" value="3" coins="500">500 &nbsp; &nbsp; &nbsp; &nbsp; $3</p><p>';
            answerContent = answerContent + '<p class="buy-coins" value="5" coins="1000">1000 &nbsp; &nbsp; &nbsp; &nbsp; $5</p><p>';
            answerContent = answerContent + '<p class="buy-coins" value="15" coins="5000">5000 &nbsp; &nbsp; &nbsp; &nbsp; $15</p><p>';
          // } 

我需要得到从视图传递的值,并使用该值来进行循环,并从数据库显示相应的值。我对json真的不太了解。请给我一些建议。


我收到这样的警告


{"error":{"error_code":300,"error_message":"No enough coins to do correction.","pack":{}}}

尝试先用$coinPacks->toArray()

将其转换为数组

转换成数组


   $coinPacks=$packs->getPacks();
                $coinpacks = array();
                foreach($coinPacks as $coin){
                    $coinpacks['id'] = $coin->id;
                    $coinpacks['number_of_coins'] = $coin->number_of_coins;
                    $coinpacks['price'] = $coin->price;
                    $coins[] = $coinpacks;
                }

并在视图页

中调用它
  var coin = response.pack;                                                                                                                 
  for(var i=0;i<coin.length;i++)                                                                                               
  {                                   
      answerContent = answerContent + '<p class="buy-coins" value="'+coin[i].price+'" coins='+coin[i].number_of_coins+'>'+coin[i].number_of_coins+' &nbsp; &nbsp; &nbsp; &nbsp; $'+coin[i].price+'</p><p>';                  
  }  

现在运行良好