2011-09-27 50 views
7

Tôi đang cố gắng tạo một ứng dụng Android với Phonegap, trang đầu tiên là trang đăng nhập, nó truy vấn đến máy chủ để xác thực người dùng, máy chủ trả về chuỗi json: true nếu đăng nhập thành công hoặc sai khác. Tôi nhận được phản hồi nhưng tôi không thể chuyển hướng đến trang html tiếp theo. Tôi đang sử dụng mã bên dướiLàm thế nào để chuyển hướng đến trang html địa phương trong ứng dụng android phonegap?

$('#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; 
}); 

Vui lòng cho tôi biết, làm cách nào để chuyển hướng người dùng đến page2.html sau khi đăng nhập thành công?

Trả lời

13

Bạn có thể gọi các trang html khác bằng cách sử dụng window.location và nếu trang html thứ hai của bạn có trong thư mục www không cung cấp đường dẫn đầy đủ (Vui lòng xóa đường dẫn gốc). Vui lòng kiểm tra mã sau đây.

$('#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

Cảm ơn rất nhiều, bạn đã giải quyết được vấn đề của mình. Tôi đã đấu tranh với vấn đề này từ 2-3 ngày. – Arif

+0

Đã làm nó ... Cảm ơn một lần nữa. – Arif

+0

Sử dụng PhoneGap 1.5.0, jquery 1.7.1 và jquery mobile 1.0.1 kết quả này trong một "JSCallback Server Closed: Dừng callback." lỗi (ít nhất là trong trường hợp của tôi) vô hiệu hóa các tập lệnh sau khi chuyển hướng. Sử dụng hàm jquery "$ .mobile.changePage ('url');" mọi thứ đều hoạt động tốt. – Redfox

0

Hãy thử phương pháp tải jQuery

http://api.jquery.com/load/

+0

Tôi phải chuyển hướng thay vì tải nội dung của nó trong thẻ html .. Cảm ơn mọi thứ. – Arif

0

từ góc độ javascript tinh khiết,
Will window.location.href = 'something.html'; không hoạt động?

+0

Nó hoạt động .. Cảm ơn – Arif

+0

@karnyj nhưng webview đang thay đổi ......... –

0

karnyj là đúng, vì giải pháp được đánh dấu bị lỗi cho iOS. Sử dụng window.location = "url" đôi khi sẽ đóng băng ứng dụng trong iOS (xảy ra mỗi khi tôi khởi động lại thiết bị).

// Đây là cách để đi window.location.href = 'something.html';

0

Đường dẫn tương đối phải ổn.

Tôi đã tìm thấy window.location = './yourPage.html' (và
window.location.href = './yourPage.html') không luôn luôn làm việc,
và đã thành công sử dụng: window.location.replace('./yourPage.html');

0

window.location.replace ('xyz.html') ; Hoạt động luôn!

Các vấn đề liên quan