V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Roope
V2EX  ›  PHP

坑爹, 电脑怎么写都 OK 到手机就不行了。

  •  
  •   Roope · 2015-10-20 10:32:50 +08:00 · 2607 次点击
    这是一个创建于 3325 天前的主题,其中的信息可能已经有所发展或是发生改变。

    二次开发某平台,要加一些功能, 今天遇到个大坑, 我用 ajax 提交后,电脑模拟手机浏览器,成功,到手机提示 undefined 。 返回的是 JSON 。

    header('Content-type:application/json;charset=UTF-8');
    exit(json_encode(['resCode' => 'success', 'msg' => $data['msg']));
    

    然后用 Ajax 请求

    $.ajax({
        url : "http://xxx/shop/index.php",
        type: "POST",
        data : {
            act:'pointvoucher',
            op:'voucherexchange_save',
            vid:vid,
            from:'phone'
        },
        success:function(results) {
            if(results.resCode === 'success') {
                alert('领取成功。');
            } else {
                alert(results.msg);
            }
        }
    });
    

    按理来说是没有问题的,在电脑用好几个浏览器模拟都是成功的,但是到手机用了好几个浏览器都不行,都提示 undefined 。 第一次遇到这样的问题,搞了半天都不知道原因,求教。

    手机: UC 最新版,猎豹,手机自带的 android 4.4

    7 条回复    2015-10-20 13:26:28 +08:00
    laoona
        1
    laoona  
       2015-10-20 10:58:34 +08:00
    打印一下 results ,看看是什么。最好加个:$.ajax({dataType: "json"});
    cxe2v
        2
    cxe2v  
       2015-10-20 11:08:01 +08:00
    服务器端把收到的请求打印出来对比一下模拟器跟真机的区别不就知道了
    Roope
        3
    Roope  
    OP
       2015-10-20 11:17:43 +08:00
    @laoona
    @cxe2v 多谢已经搞定了,因为框架的原因我从手机发的 Ajax 请求过去, PC 用的 Controller 把 SESSION 清空了,不知道为什么。
    domty
        4
    domty  
       2015-10-20 11:18:17 +08:00
    1.alert 整个 results ,看看怎么回事
    2.换个浏览器试结果,从我仅有的 uc 调试经历来看, uc 的东西比较烂,用起来很麻烦
    wesley
        5
    wesley  
       2015-10-20 11:38:06 +08:00
    uc 会把数据从服务器中转, session 肯定没了
    qaulau
        6
    qaulau  
       2015-10-20 12:51:40 +08:00 via Android
    你需要将 result 这个 json 字符串转换为 js 对象,加上 datatype:"json"或者使用$.parseJSON()
    Roope
        7
    Roope  
    OP
       2015-10-20 13:26:28 +08:00 via Android
    @qaulau 之前用过了,不行的,因为不知道为啥 Session 没了,所以导致失败的。

    @wesley 有点坑
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3429 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 417ms · UTC 00:43 · PVG 08:43 · LAX 16:43 · JFK 19:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.