控制器代码
html代码
然后不知道为什么
应该怎么改?才能正确把你这个弄好?
我这里的Name已经改成postbird还是不行
参数name != ‘postbird’ 吧
这个地方判断的是跟字符串比较?你输入的是1,肯定不相等啊,你把这个改成1,再输入1试试
谢邀!
这个你应该在控制器中调试,打印$_POST[‘name’],没什么问题的时候你应该在数据返回的html中的控制台打印
console.log(data.log);
这个本来可以自己调试的,
基本方法就是:
1.在ajax之前把你要发送的数据和请求的url先打印出来看看有没有问题
2.控制器中最开始先用$this->error(I(“post.”));把请求的数据打印出来看看,在ajax的回调中,用console.log()来看;
3.如果前面都正常,但结果仍然有问题,就把$this->error();往后移,把你期望的数据放到error()里面去。
另外:
关于代码,有几点建议:
1.js不要放到head里面,放到body的最后,甚至是html标签的后面;
2.js中使用到php的,统一放到最前面,比如你用到了postUrl,把它的获取放到$(document).ready()的前面,因为真正上线的时候,你可能需要把js代码与html分开来,如果js与php代码混合在一起,分开就很麻烦了;
3.在模板中尽量使用tp的内置模版标签,少用原生的php代码,比如var postUrl=”{:U(‘Ajax/index’)}”;
4.ajax请求前先把数据封装好,方便调试,比如你可能想先看看请求的数据是否正确;
5.控制器中,如果是ajax请求,最好先判断一下:if(!IS_AJAX){$this->error(‘非法请求’);}
6.另外,个人觉得$this->error()和$this->success()比$this->ajaxReturn()要好用;
….
说多了。