0

我正在尝试制作一个带有初始登录屏幕的基本应用程序,然后将我带到主屏幕,然后我可以在其中选择不同的页面。

我在 Windows 7 PC 上,并使用 PhoneGap Desktop 与 iPhone6 和 Android 设备编译成 phonegap。

我已将我的 ajax 调用剥离为基础知识以尝试解决问题,但没有任何乐趣:

$(document).on('click', '#submit', function() { 
    $.ajax({url: 'http://192.168.42.223/server/login.php',
        data: {action : 'login', formData :   $('#login').serialize()}, 
        type: 'post',                   
        async: true,
        dataType: 'json',
        success: function (result) {
            if(result.status == true) {
                alert("OK");                                
                $.mobile.changePage("/index.html",  {
                    allowSamePageTransition : true,
                    transition              : 'none',
                    showLoadMsg             : false,
                    reloadPage              : true
                });
            } else {
                alert('Logon unsuccessful!'); 
            }


        },
        error: function (request, status, error) {
            alert('Fail!');
        }
    });                   

    return false; 
});    

现在有趣一点... [PhoneGap 桌面] 如果我在页面中输入登录详细信息并点击提交,我会被发送到一个空白页面(我的页眉和页脚仍然显示)。

[PC 或移动设备上的 Chrome 浏览器] 如果我在页面中输入登录详细信息并点击提交,我会被发送到正确的页面并且一切正常。

[Ripple Emulator] 如果我在页面中输入登录详细信息并点击提交,我会被发送到正确的页面并且一切正常。

该应用程序的结构使得在进入 index.html 时,如果用户未登录(使用本地存储作为会话持有者),那么他/她将被重定向到 /page/login.html。登录后,他们将返回 /index.html,主屏幕将显示他们的选项。

4

1 回答 1

0

如果有人有同样的问题,答案是替换
$.mobile.changePage("/index.html", { allowSamePageTransition : true, transition : 'none', showLoadMsg : false, reloadPage : true });

with $.mobile.changePage("./index.html", { allowSamePageTransition : true, transition : 'none', showLoadMsg : false, reloadPage : true });

于 2015-08-27T07:42:25.983 回答