Home > Backend Development > PHP Tutorial > javascript - thinkphp开发的页面在手机浏览器ajax兼容问题

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

WBOY
Release: 2016-06-06 20:24:40
Original
1150 people have browsed it

一个简单的表单提交的页面,在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>
Copy after login
Copy after login

测试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>
Copy after login
Copy after login

后,在手机浏览器中不能正常弹出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>
Copy after login
Copy after login

测试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>
Copy after login
Copy after login

后,在手机浏览器中不能正常弹出layer层。

2者区别主要的post的url不一样,问题很诡异,请前端大神看看

先都注释掉function里的代码,直接alert(1),看看是不是2个方法都可以执行,然后一点点排除

是没弹出来还是layer的样式没加载进来啊

thinkphp是不是有做一些过滤,诸如验证是否登录之类的。建议还是console.log(result);慢慢排查吧。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template