Home > Article > Backend Development > javascript - thinkphp开发的页面在手机浏览器ajax兼容问题
一个简单的表单提交的页面,在chrome&ie下测试正常,在安卓手机上失效。
环境:
thinkphp 3.2
jquery 1.11.3
layer-v2.1 弹层组件
目前做了2个例子,请求正常的有:
<code class="javascript">$.post("/api/sms/send_sms.php", {phone:phone}, function(result) { if(result.status==1){ resetCode(); //倒计时 }else{ layer.open({ title: '错误', type: 1, skin: 'layui-layer-red', //样式类名 closeBtn: true, //不显示关闭按钮 shift: 2, shadeClose: true, //开启遮罩关闭 content: result.msg }); } }); </code>
测试chrome & ie & 手机UC浏览器 & 微信 正常而换用
<code class="javascript">$.post("/index.php?m=active&a=save_info", {phone:phone}, function(result) { if(result.status==1){ resetCode(); //倒计时 }else{ layer.open({ title: '错误', type: 1, skin: 'layui-layer-red', //样式类名 closeBtn: true, //不显示关闭按钮 shift: 2, shadeClose: true, //开启遮罩关闭 content: result.msg }); } }); </code>
后,在手机浏览器中不能正常弹出layer层。
2者区别主要的post的url不一样,问题很诡异,请前端大神看看
一个简单的表单提交的页面,在chrome&ie下测试正常,在安卓手机上失效。
环境:
thinkphp 3.2
jquery 1.11.3
layer-v2.1 弹层组件
目前做了2个例子,请求正常的有:
<code class="javascript">$.post("/api/sms/send_sms.php", {phone:phone}, function(result) { if(result.status==1){ resetCode(); //倒计时 }else{ layer.open({ title: '错误', type: 1, skin: 'layui-layer-red', //样式类名 closeBtn: true, //不显示关闭按钮 shift: 2, shadeClose: true, //开启遮罩关闭 content: result.msg }); } }); </code>
测试chrome & ie & 手机UC浏览器 & 微信 正常而换用
<code class="javascript">$.post("/index.php?m=active&a=save_info", {phone:phone}, function(result) { if(result.status==1){ resetCode(); //倒计时 }else{ layer.open({ title: '错误', type: 1, skin: 'layui-layer-red', //样式类名 closeBtn: true, //不显示关闭按钮 shift: 2, shadeClose: true, //开启遮罩关闭 content: result.msg }); } }); </code>
后,在手机浏览器中不能正常弹出layer层。
2者区别主要的post的url不一样,问题很诡异,请前端大神看看
先都注释掉function里的代码,直接alert(1),看看是不是2个方法都可以执行,然后一点点排除
是没弹出来还是layer的样式没加载进来啊
thinkphp是不是有做一些过滤,诸如验证是否登录之类的。建议还是console.log(result);
慢慢排查吧。