2012-06-04 7 views
0
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 encode one. В предупреждении о перемещении я получаю значение каждого символа не по ключу или значению. Любая помощь?ajax json output parsing in jquerymobile

+0

Вы пробовали, как этот arrayvalue = res.d; а также зарегистрируйте значение массива в формате, который вам поможет. – Tamkeen

ответ

0

Добавление типа данных и типа контента позволило решить проблему. Добавлен полный код для ссылки другого пользователя.

 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 
     });