public function show(){
                $Store=M('Store');
                //$list=$Store->select();
                //echo $Store->getLastSql();
                $list=array(
                        'title'=>'aaa',
                        'content'=>'bbb',
                );
                echo $list;
        }<script language="javascript">
function myshow(){ 
        $.post('__URL__/show',function(data){
                var n=data.length;
                alert(n);
        });
}
</script>
alert出来不是正确的值啊,怎么是5啊

解决方案 »

  1.   

    data实际上是 Array
    因为 $list是个数组类型,而你echo它是错误的。应该用 print_r() 或 json_encode()
      

  2.   

    echo 数组结果是"Array"  length确实是5
      

  3.   

    用print_r(),或者json_encode(),在前台输出alert(data['title']);是undefined,,在前台怎么使用啊
      

  4.   

    alert(data.title);   //这样试试
      

  5.   

    本帖最后由 PhpNewnew 于 2012-04-21 10:26:46 编辑
      

  6.   

    public function show(){
      $Store=M('Store');
      //$list=$Store->select();
      //echo $Store->getLastSql();
      $list=array(
      'title'=>'aaa',
      'content'=>'bbb',
      );
      echo json_encode($list);
      }<script language="javascript">
    function myshow(){  
      $.post('__URL__/show',function(data){
      alert(data.title);
      }, 'json');
    }
    </script>
      

  7.   

    恩,这样可以了,其实我的最终目的是,$list是个二维数组,array(array('title'=>'aaa','content'=>'bbb'),array('title'=>'aaa2','content'=>'bbb2'),array('title'=>'aaa3','content'=>'bbb3')……),把他传到页面,然后在页面<div id='ss'>
    标题:aaa,内容:bbb
    标题:aaa2,内容:bbb2</div>里显示,这样呢
      

  8.   

    还没结啊。那你alert();之后的数据是什么? 贴出来看看
      

  9.   

    形如 array(array('title'=>'aaa','content'=>'bbb'),array('title'=>'aaa2','content'=>'bbb2'),array('title'=>'aaa3','content'=>'bbb3'))
    数组的json是这样的对象数组
    [{"title":"aaa","content":"bbb"},{"title":"aaa2","content":"bbb2"},{"title":"aaa3","content":"bbb3"}]$('#ss').html('');
    for(i=0; i<data.length; i++) {
      $('#ss').append(data[i].title + ' ' + data[i].content +'<br />');
    }