您好,欢迎访问一九零五行业门户网

使用ajax,xhr却没有响应

1.项目中用到了ajax。结果测试时候发现页面在两款浏览器中表现不一:360浏览器可以顺利实现弹窗(alert)效果,火狐浏览器却一点效果全无。但是他们都有一个共同特点:在浏览器的调试模式(f12)的网络选项xhr下没有得出任何的数据,而在网络的全部、html、css、js这些地方都可以看到有数据,包括index首页(post),其他资源都是以get获得。
2.使用了thinkphp的自动验证功能,错误会自动返回信息,包括没有输入用户名或没有输入密码,但是我没对账号密码进行比对,也不知道为什么在360浏览器中用户名和密码我随便乱输了数据,结果发现一个空白alert对话框出来,也不知道这是什么回事?
3.360浏览器中alert对话框出现的时候,xhr还是有数据的,但是当alert对话框点击确定后,xhr数据就随之消失。
代码如下:
(1)login.js
//前端登录业务类var login={ checkuser:function(){ //获取登录页面中的输入数据 var username=$('input[name=username]').val(); var userpass=$('input[name=userpass]').val(); //使用ajax var url=/stfjzd-15/index.php/home/index/checkuser; var data={username:username,userpass:userpass}; $.post(url,data,function(result){ //$(#result).html(data.info).show(); //$(#result).fadeout(4000); if(result.status){ alert(result.info); }else{ //alert(2); alert(result.info); } },json); }}

(2)indexcontroller.class.php
display(); } //用户验证 public function checkuser(){ //接收变量,默认htmlspecialchars过滤 $username=i(post.username); $userpass=i(post.userpass); $user=d(stuser); //thinkphp的自动验证必须使用create()才能启用 if(!$user->create()){ return $this->error($user->geterror()); //exit($user->geterror()); } } //空操作 public function _empty(){ echo 页面不存在,请检查您输入的路径是否正确,我要返回首页; }}

(3)stusermodel.class.php
db=m(stuser); } //thinkphp的表单自动验证 protected $_validate=array( array(username,require,用户名不能为空), array(userpass,require,密码不能为空), ); }?>

回复内容: 1.项目中用到了ajax。结果测试时候发现页面在两款浏览器中表现不一:360浏览器可以顺利实现弹窗(alert)效果,火狐浏览器却一点效果全无。但是他们都有一个共同特点:在浏览器的调试模式(f12)的网络选项xhr下没有得出任何的数据,而在网络的全部、html、css、js这些地方都可以看到有数据,包括index首页(post),其他资源都是以get获得。
2.使用了thinkphp的自动验证功能,错误会自动返回信息,包括没有输入用户名或没有输入密码,但是我没对账号密码进行比对,也不知道为什么在360浏览器中用户名和密码我随便乱输了数据,结果发现一个空白alert对话框出来,也不知道这是什么回事?
3.360浏览器中alert对话框出现的时候,xhr还是有数据的,但是当alert对话框点击确定后,xhr数据就随之消失。
代码如下:
(1)login.js
//前端登录业务类var login={ checkuser:function(){ //获取登录页面中的输入数据 var username=$('input[name=username]').val(); var userpass=$('input[name=userpass]').val(); //使用ajax var url=/stfjzd-15/index.php/home/index/checkuser; var data={username:username,userpass:userpass}; $.post(url,data,function(result){ //$(#result).html(data.info).show(); //$(#result).fadeout(4000); if(result.status){ alert(result.info); }else{ //alert(2); alert(result.info); } },json); }}

(2)indexcontroller.class.php
display(); } //用户验证 public function checkuser(){ //接收变量,默认htmlspecialchars过滤 $username=i(post.username); $userpass=i(post.userpass); $user=d(stuser); //thinkphp的自动验证必须使用create()才能启用 if(!$user->create()){ return $this->error($user->geterror()); //exit($user->geterror()); } } //空操作 public function _empty(){ echo 页面不存在,请检查您输入的路径是否正确,我要返回首页; }}

(3)stusermodel.class.php
db=m(stuser); } //thinkphp的表单自动验证 protected $_validate=array( array(username,require,用户名不能为空), array(userpass,require,密码不能为空), ); }?>

用$this->ajaxreturn()或者json_encode试试
其它类似信息

推荐信息