2011-08-12 12 views

Odpowiedz

12

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

+0

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? –

+0

@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

+0

@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. –