
正文
thinkphpajax评论,thinkphp缺点
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
thinkphp后台登陆ajax提交验证码怎么进行判断
客户端(jQuery提交):var data = {username:我是小明, password:mima};$.post(/Register/submit.html, data , function(response){ alert(response.msg); //response是服务端响应的数据。msg是thinkphp传过来的处理信息。 //thinkphp的响应里,始终会携带一个code属性。
你前端用ajax提交,后台返回的是html页面,那你ajax提交的时候就要接受后台返回的数据格式是html,我估计就会跳转。不过个人觉得,你还是在ajax提交的时候,就先判断是否有登录,没登录的话,你就直接在前台跳转到登录页面去。
事例:前台地址 http://a.com 要向服务端地址 http://b.com 验证和请求验证码 原理:因为在加载验证码图片的时候请求中携带了cooike,cooike中存了服务端验证码的PHPSESSID。而在验证过程中因为是跨域请求,ajax是不会携带cooike进行提交的。
我给你说说原理吧,当你输入用户名是 通过js获取的用户名(获取的条件可以是鼠标离开事件)。之后在js中通过ajax提交给 thinkphp中的控制器,在控制器中接收。 之后在控制器中读取数据库中的用户表信息中的用户名。 再判断ajax提交过来的和数据库中的用户名最对比看看是否已经存在。
如果我在做一个添加用户的操作时,我们可以设置一个User/useradd.html作为模板。然后写一个UserAction.php。在UserAction.php中写一个userAdd方法,使用isPost()来判断是否状态,就可以把提交前和提交后写在一个Action里面了。
相关问答
Q1: thinkphp中ajax出现,服务器返回数据出错,怎么解决
浏览器状态码为canceled,最大的可能是你的ajax出现跨域了。 确认一下发出ajax请求的页面域名,与ajax目标页面的域名是否一致。不一致,由于浏览器安全规则的限制,会阻止此跨域请求的发出。
明白你的意思,后台取出的数据没法在前台用php格式化,你可以用js处理。
var data = {username:我是小明, password:mima};$.post(/Register/submit.html, data , function(response){ alert(response.msg); //response是服务端响应的数据。msg是thinkphp传过来的处理信息。 //thinkphp的响应里,始终会携带一个code属性。
一般做这种省市联动,在页面加载的时候就需要先将省份取出来,然后onchange事件去动态的更换后面的市区等信息。
推荐你用 javascript 就行了。不需要提交到服务器判断,浪费服务器的资源。
Q2: thinkphp中怎么用ajax
var data = {username:我是小明, password:mima};$.post(/Register/submit.html, data , function(response){ alert(response.msg); //response是服务端响应的数据。msg是thinkphp传过来的处理信息。 //thinkphp的响应里,始终会携带一个code属性。
要使用楼上所说的u方法和__url__第一,首先要看你是怎么进行建项目的,如果是一个入口文件对应一个项目,那么楼上的说的都没有问题,如果是项目分组或者是独立分组模式,那前面必须要加上你的项目名称。
模板中使用js请求代码如下:.get(10.1/index.php?s=Home-index-test-p1-1-p2-2, {}, function(data) { alert(data);//这里处理返回数据});//上面的url你根据自己的需要修改get传参数我就不说了,你也可以用post 或者直接用ajax做,都是一样的。
另外,说点题外话:看的代码,你应该使用的是thinkphp2版本。获取客户端提交的数据,不要直接使用$_GET或者$_POST。因为这样的方式获取数据是没有被过滤的,所以很不安全,会有sql注入的风险。thinkphp2提供了I函数。比如你获取get提交过来的id。直接I(get.id);就可以了。
提交的时候使用ajax提交,这样不用刷新页面。
关于thinkphpajax评论和thinkphp缺点的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






