Czy mogę używać wywołań JQuery ajax w PHONEGAP do uruchamiania pliku php, który pobiera rekordy z bazy danych?! czy powinienem użyć JavaScript Ajax? jaki jest najlepszy sposób osiągnięcia tego w PHONEGAP?Czy mogę używać Phonequap Jquery do wywoływania ajaxów?
Odpowiedz
Z pewnością można używać funkcji ajaxowych jQuery w aplikacjach PhoneGap. Oto demo:
- JavaScript w 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 na serwerze -
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";
}
}
Powyższy przykład kwerendy skrypt PHP na serwerze za każdym razem Wyświetlana jest strona "#some_page_id" i dołączane dane do tagu <div data-role="content">
. Możesz także użyć .html(data)
zamiast .append(data)
, aby zastąpić HTML zamiast go dodawać.
UPDATE
Znalazłem to w dokumentacji jQuery komórkowy, który daje znakomite informacje na temat dokonywania $.ajax()
połączeń w PhoneGap Apps: http://jquerymobile.com/demos/1.0/docs/pages/phonegap.html
to również działa dla mnie. Jednak czy kiedykolwiek próbowałeś zbudować aplikację z luką telefoniczną, która wymaga funkcji logowania użytkownika? –
@MyticMoon Nie mam żadnego doświadczenia z logowaniem użytkownika wewnątrz aplikacji. Wydaje mi się, że chciałbym zarządzać limitem czasu sesji użytkownika w aplikacji. strony, a nie po stronie serwera, aby użytkownik nie mógł po prostu wyłączyć anteny urządzenia, aby zachować dostęp. Czy masz jakieś konkretne pytania? – Jasper
@Jasper jest JQuery przy użyciu techniki JSONP do osiągnięcia tego? Czy te same zasady dotyczące pochodzenia nie mają zastosowania do aplikacji mobilnych? Chcę zrozumieć, co sprawia, że AjaxRequest z domeny bez domeny na www.mydomain.com. –
gdyby okazało się, że odpowiedź była prawidłowa. spróbuj przesłać jako odpowiedź ... – hellomello