zoukankan      html  css  js  c++  java
  • Thinkphp学习日记:jQuery_ajax数据提交

    最近在玩Thinkphp,废话不多说,说正事.

    客户端js提交代码

    1 $.post('http://localhost/app/index.php/Index/Index/handle',{username : document.getElementById('username').value,content : document.getElementById('content').value,},function (data){console.log(data);alert('ok');});

    主要是提交两个表单项的内容到handle,如果成功返回就执行function函数弹出一个ok

    ps:这段代码不是标准的jQuery的写法,标准的应该是

    $( 'input[name=username]' ).val()

    $( '#username' ).val()

    服务器端脚本

     1     public function handle(){
     2         if (!isAJAX) {
     3             halt('请求有误');
     4              
     5          } //else
     6          // //echo '请求成功';
     7       //   // var_dump(I('post.'));
     8         $wi=M('wish');
     9         $data['wi_name']=I('username');
    10         $data['wi_content']=I('content');
    11         $data['wi_time']=time(); 
    12         $result=$wi->data($data)->add(); 
    13         // var_dump($result);
    14         if ($result) {
    15             // $this->success('插入成功');
    16             // $this->ajaxReturn('110','插入成功',1);
    17             $dataReturn['status']=1;
    18             $dataReturn['info']='the post is ok';
    19             $this->ajaxReturn($dataReturn,'json');
    20         }else{
    21             halt('插入失败');
    22         }
    23 
    24     }

    但是数据提交成功,一直没有弹窗,也就是回调函数一直没有执行.找了半天,以为是json格式有问题,才知道是我注释的那段代码

      //else
        // //echo '请求成功';
         //   // var_dump(I('post.'));

    本来是为了更友好的提示,估计是把这个当成了返回值,然后因为客户端解析出问题,所以没有反应
    ps:今天又研究了下,发现应该是Thinkphp将echo的内容返回给了前端,而因为echo的内容不符合jQuery的格式,所以不能正常解析
    所以我把echo的内容换成 echo "{ info : '1213', name : '4442'}";
    然后,页面终于有反应了,用console.log(data),打印后内容是{ info : '1213', name : '4442'},不过不能识别是json格式

    好吧,又发现新原因了,不是之前想的,如果后台用echo或者其他输出的话,Thinkphp会将它传到前台,当做这个Ajax请求的返回值,But如果你在后来再来一个$this->ajaxReturn($dataReturn,'json');,就会出错,不执行


  • 相关阅读:
    SQL中一些有用的关键字
    (转)[VirtualBox] 配置 NAT 和 Bridged Network
    (转)SQL养成一个好习惯是一笔财富
    破解专题
    配置VitualBox+CentOS的SSH配置
    Windows 7 更改全半角切换快捷键(Shif+Space)
    SQL Server 系统表
    grub 安装 linux
    (转)informix错误代码小结
    试用Windows Live Writer
  • 原文地址:https://www.cnblogs.com/geqianst/p/3342014.html
Copyright © 2011-2022 走看看