2011-09-27 60 views
7

我想創建一個帶有phonegap的android應用程序,第一頁是登錄頁面,它向服務器查詢用戶身份驗證,服務器返回json字符串:如果登錄成功則返回true,否則返回false。我得到的迴應,但我不能重定向到下一個HTML頁面。我正在使用以下代碼如何重定向到phonegap android應用程序中的本地html頁面?

$('#loginForm').submit(function(){ 
    var uid = $('#login').val(); 
    var pwd = $('#password').val(); 

    $.getJSON('http://example.com/phonegap/login.php', 
     { userid: uid, password: pwd }, 
     function(json) { 
      $.each(json, function(k, v) { 
       if(v == "true" || v == true){ 
        super.loadUrl("file:///android_asset/www/page2.html"); 
       } else { 
        $('#loginError').html("Login failed, username and/or password don't match"); 
       } 
     }); 
    }); 
    return false; 
}); 

請讓我知道,如何在成功登錄後將用戶重定向到page2.html?

回答

13

您可以使用window.location調用其他html頁面,如果您的第二個html頁面出現在www文件夾中,請不要提供完整路徑(請刪除您的原生路徑)。 請查看以下代碼。

$('#loginForm').submit(function(){ 
    var uid = $('#login').val(); 
    var pwd = $('#password').val(); 
    $.getJSON(' http://example.com/phonegap/login.php ', 
     { userid: uid, password: pwd }, 
     function(json) { 
      $.each(json, function(k, v) { 
       if(v == "true" || v == true){ 
        window.location="page2.html"; 
       } else { 
        $('#loginError').html("Login failed, username and/or password don't match"); 
       } 
     }); 
    }); 
    return false; 
});

+0

非常感謝,你解決了我的問題。自2-3天以來,我一直在努力解決這個問題。 – Arif

+0

已經做到了......再次感謝。 – Arif

+0

使用PhoneGap 1.5.0,jquery 1.7.1和jquery mobile 1.0.1會導致「JSCallback服務器關閉:停止回調」。錯誤(至少在我的情況下)在重定向後禁用腳本。使用jquery函數「$ .mobile.changePage('url');」一切正常。 – Redfox

0

從純JavaScript的角度來看,
威爾window.location.href = 'something.html';不行?

+0

它的工作..謝謝 – Arif

+0

@ karnyj但webview正在改變......... –

0

karnyj是正確的,因爲標記的解決方案是針對iOS的。使用window.location =「url」有時會在iOS中凍結應用程序(每次重新啓動設備時都會發生)。

//這是要走的路 window.location.href ='something.html';

0

相對路徑應該沒問題。

我發現window.location = './yourPage.html'(和
window.location.href = './yourPage.html')並不總是工作,
和使用已經成功: window.location.replace('./yourPage.html');

0

window.location.replace( 'xyz.html') ; 始終工作!

相關問題