首页  >  文章  >  后端开发  >  javascript - thinkphp开发的页面在手机浏览器ajax兼容问题

javascript - thinkphp开发的页面在手机浏览器ajax兼容问题

WBOY
WBOY原创
2016-06-06 20:24:401117浏览

一个简单的表单提交的页面,在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);慢慢排查吧。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn