Thinkphp学习日记:jQuery_ajax数据提交-阿里云开发者社区

开发者社区> 微个日光日> 正文

Thinkphp学习日记:jQuery_ajax数据提交

简介: <p style="margin:10px auto; padding-top:0px; padding-bottom:0px; font-family:Verdana,Arial,Helvetica,sans-serif; line-height:18px"> 最近在玩Thinkphp,废话不多说,说正事.</p> <p style="margin:10px auto; paddin
+关注继续查看

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
将jQuery Pagination分页插件用于不使用AJAX加载数据的页面
将jQuery Pagination分页插件用于不使用AJAX加载数据的页面,项目使用SpringMVC,使用Freemarker绑定数据,但分页显示样式不想自己处理,所以使用jQuery Pagination分页插件。
736 0
如何用 ajax 连接mysql数据库,并且获取从中返回的数据。ajax获取从mysql返回的数据。responseXML分别输出不同数据的方法。
开讲前,先说下网上,大部分的关于这方面的博文或者其他什么的,就我自己的感觉,第一说得不详细,第二语言不能很好的被初学者了解。 我这篇博文的标题之所以用了三句,是为了方便其他人好查找;       这里介绍的方法有什么用呢? 使用它,就可以无闪刷新页面,并且从数据库获取实时改变的数据反馈回界面,显示出来!是不是很爽,的确。
993 0
编码gbk ajax的提交
客户端 服务器端:
436 0
自己存档:ajax 动态提交form
$.ajax({                    cache: true,                    type: "POST",                    url: "/postcomment",                    data: $('#pinglunform').
497 0
175
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载