<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        [{"id":"123457","username":"123789","sex":"1"},{"id":"5","username":"741852","sex":"1"},{"id":"4","username":"wanger","sex":"1"},{"id":"123","username":"wsd","sex":"1"},{"id":"123456","username":"ghj","sex":"1"},{"id":"123458","username":"as","sex":"1"},{"id":"123459","username":"ss","sex":"1"},{"id":"123460","username":"ss","sex":"1"},{"id":"123461","username":"ss","sex":"1"},{"id":"123462","username":"ss","sex":"1"},{"id":"123463","username":"ss","sex":"1"}]
这是代码
$m=M('User');
      $arr=$m->select();
      $this->ajaxReturn ($arr,'json');

解决方案 »

  1.   

    需要$this->ajaxReturn ($arr);
    同时前端jQuery指定返回的type为json
      

  2.   

    假设前段没有页面单独输出json数据也不应该有上面那一堆东西啊
      

  3.   

    那段东西估计是你其他文件include输出的
    你可以在你代码前加上
    ob_clean();
    $m=M('User');
    $arr=$m->select();
    $this->ajaxReturn ($arr,'json');
      

  4.   

    ob_clean();
    加这句话之前的代码输出的数据就看不到了啊,治标不治本啊
      

  5.   

    每个 http 会话,只能返回一种类型的数据。这才是本
      

  6.   


    你输出json之前的,是<!DOCTYPE html>这些hmtl
    这些你不是不需要么,使用ob_clean有什么问题?
    而且json输出,前面不应该输出其他东西的。
      

  7.   

    就是应该没有那些东西啊,问题就是现在他出来这些东西了  为什么  加ob_clean();只是看不到了  但他还是输出出来了  前端直接拿返回的json进行操作无法实现功能
      

  8.   

    问题就是为什么返回json数据会带有html的东西
      

  9.   

    调用视图页面了吧,你可以直接访问这段代码的url看源码有不有html输出。
      

  10.   

    你先看看为什么前面会有输出。把前面的输出先隐藏吧
    ob_clean(); 是可以把缓冲区内的东西删除的,所以不可能会输出,除非你前面有ob_flush(); flush();强制输出。
    <p>aaa</p>
    <?php
    ob_clean();
    echo 'ok';
    ?>不会输出aaa的。