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');,就会出错,不执行


  • 相关阅读:
    UITableView的一些事1
    Mac修改文件权限:You don’t have permission to save the file
    svn: is already a working copy for a different url 解决办法
    svn服务配置
    github push出错(1)You can't push to git:// Use https://
    判断系统版本
    浅谈 Qt 布局那些事
    Qt布局管理
    详解 QT 主要类 QWidget
    新手须知 QT类大全
  • 原文地址:https://www.cnblogs.com/geqianst/p/3342014.html
Copyright © 2011-2022 走看看