html5を使用してphonegapでアプリを設計する必要があります。このアプリでは、フォームから一部のデータを収集してデータベースに保存する必要があります。
問題は、phpと「post」メソッドを使用せずにフォームからそのデータを取得するにはどうすればよいかということです。
続行する前にユーザーがログインする必要があると仮定します。フォームからユーザー名とパスワードを取得してデータベースと照合するにはどうすればよいですか。問題は
2156 次
1 に答える
1
Phonegap は完全な JavaScript API です。リクエスト/レスポンスを送信するhtmlフォームを備えたシステムはありません。サービスを使用する方法でアプリを設計する必要があります。仕事に役立つように、 jquery mobile、sencha、または単にjquery (以下の例のように) などの JavaScript ライブラリを追加してみてください。これらのライブラリは Phonegap で問題なく動作します (そして、sencha が最も最適化されています)。
- サービス側を書きます。標準の HTML アプリケーションのようにフォーム パラメータを処理する単純な php ページである可能性があります。データベースにアクセスするには、サーバー側がどこかに必要です。そのため、このファイルをアプリケーションからアクセスできる php/apache のどこかにホストしてください。
--
<?php
/* mySaveService.php */
/* do something like $_GET['param1'] mysql_connect() / mysql_query() and all the stuff */
?>
--
- クライアントのビュー側を設計します。生のhtml コードを書くか、Sencha のようなフレームワークを使用できます (よりクリーンで難しい方法)。
--
<form>
<input type="text" name="param1" value="" />
<input type="button" class="submit" value="send" />
</form>
--
- フォームの送信時または送信ボタンのクリック時にリスナーを追加します。
--
$('form .submit').click( function() {
saveInDb($(this).parents('form:first'));
});
--
- フォームのデータを使用してajax 呼び出しを送信する JavaScript 関数を作成します。URL は同じドメインにはありません。クロスドメイン リクエストを許可してください。
--
saveInDb = function($form) {
var myParams = array();
$form.find('input').each(function() {
myParams[$(this).attr('name')] = $(this).val();
});
$.ajax({
url: 'http://domain.com/mySaveService.php',
data: myParams,
success: myCallback
});
}
--
- すべてがうまくいったことをユーザーに警告するために、コールバック関数を書くことを忘れないでください
--
myCallback = function() {
alert('It works');
}
--
- または、フォームのすべてのデータを 1 か所に集める必要がない場合は、直接localstorageを使用できます。
お役に立てば幸いです。よろしく
于 2012-05-16T08:08:57.143 に答える