ajax json在jquerymobile中输出解析

时间:2012-06-04 13:33:40

标签: json jquery-mobile

    public function actionajaxSearch()  {
         $data_fetched=Person::model()->findByAttributes  (array('Code'=>'Cust0001'));
         echo CJSON::encode($data_fetched); }



  $('#searchResult').live('pageshow', function(e,info) 
   {  
   $.post('?r=mobile/ajaxSearch',$('form').serialize(), 
   function(res) 
   {        
    arrayvalue =res;        
    $.each(arrayvalue, function(i, profile) {
      alert(i);
      alert(profile);
    });
       }
   });

我得到输出为json编码一个。 在遍历警报时,我得到的每个字符的值不是按键或值。  有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

添加数据类型和contenttype解决了问题。添加了其他参考的完整代码。

     public function actionajaxSearch()  {
     $data_fetched=Person::model()->findByAttributes  (array('Code'=>'Cust0001'));
     echo CJSON::encode($data_fetched); }



      $('#searchResult').live('pageshow', function(e,info) 
      {  
        $.ajax({
            beforeSend: function() { $.mobile.showPageLoadingMsg(); }, 
            complete: function() { $.mobile.hidePageLoadingMsg() }, 
            url: '?r=mobile/ajaxSearch',
            data: $('form').serialize(),
            type: 'POST',
            ContentType: "application/json",
            dataType: "json",
            success:function(res) {
                if(res !='')
                {
                $.each(res, function(key, value) {
                    var li='<li><a href="#">'+value['Code']+'</a></li>'; 
                    $("#mylist").append(li); //append li to ul of id list

                }); //eachfunction
                $('#mylist').listview();
                 $('#mylist').listview('refresh');
        }//sucess
      });