首頁  >  文章  >  後端開發  >  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