2011-08-12 39 views
6

Tôi có thể sử dụng các cuộc gọi JQuery ajax trong PHONEGAP để chạy tệp php có bản ghi từ cơ sở dữ liệu không?! hoặc tôi sẽ sử dụng Javascript Ajax? cách tốt nhất để đạt được điều đó trong PHONEGAP là gì?tôi có thể sử dụng PhoneGap Jquery để thực hiện cuộc gọi ajax không?

+0

nếu bạn phát hiện ra rằng câu trả lời là đúng. thử gửi như đã trả lời ... – hellomello

Trả lời

12

Bạn chắc chắn có thể sử dụng các chức năng jQuery Ajax trong các ứng dụng PhoneGap của mình. Đây là một bản demo:

- JavaScript trong App -

$('#some_page_id').bind('pageshow', function() { 
    $.get('http://domain.com/path/to/script.php?get_param=value', function (data) { 
     $(this).find('div[data-role="content"]').append(data); 
    }); 
}); 

- PHP trên Server -

if (isset($_GET['get_param']) && $_GET['get_param'] == 'value') { 
    $query = mysql_query("SELECT * FROM some_table WHERE some_col='something'", $db_handle); 
    if (mysql_affected_rows() > 0) { 
     while ($row = mysql_fetch_assoc($query)) { 
      echo "<div>" . $row['some_other_col'] . "</div>"; 
     } 
    } else { 
     echo "No Data Found"; 
    } 
} 

Ví dụ trên sẽ truy vấn kịch bản PHP trên máy chủ mỗi lần trang '#some_page_id' được hiển thị và gắn thêm dữ liệu vào thẻ <div data-role="content">. Bạn cũng có thể sử dụng .html(data) thay vì .append(data) để thay thế HTML thay vì thêm vào nó.

CẬP NHẬT

Tôi thấy điều này trong tài liệu jQuery Mobile mang đến cho một số thông tin tuyệt vời về việc $.ajax() cuộc gọi trong ứng dụng PhoneGap: http://jquerymobile.com/demos/1.0/docs/pages/phonegap.html

+0

tính năng này cũng hoạt động đối với tôi. Tuy nhiên, có bao giờ bạn thử xây dựng một ứng dụng khoảng cách điện thoại yêu cầu chức năng đăng nhập của người dùng không? –

+0

@MyticMoon Tôi không có bất kỳ trải nghiệm nào với thông tin đăng nhập của người dùng bên trong ứng dụng. Trên đỉnh đầu tôi nghĩ tôi muốn quản lý thời gian chờ của phiên người dùng trên ứng dụng. bên chứ không phải phía máy chủ để người dùng không thể chỉ tắt ăng-ten của thiết bị để giữ quyền truy cập. Bạn có câu hỏi cụ thể nào không? – Jasper

+0

@ Jasper là JQuery sử dụng kỹ thuật JSONP để đạt được điều này? Chính sách gốc không giống nhau có áp dụng cho các ứng dụng dành cho thiết bị di động không? Tôi muốn hiểu những gì làm cho có thể một AjaxRequest từ không có tên miền để www.mydomain.com –

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