既存のWebアプリケーションの機能を提供するBlackBerryアプリを作成していますが、携帯電話ユーザーに適しています。PhoneGapを使用し、BlackBerryWebWorksSDKを利用してモバイルアプリを作成しています。モバイルアプリとWebアプリケーションの実行元のサーバーとの間でデータを送受信する必要があります(フォームの送信、プロファイルの更新)。また、アプリのユーザーがBlackBerry Internet Service(BIS)を介してモバイルアプリの他のユーザーとチャットできるようにします。モバイルアプリが既存のWebアプリケーション用に作成済みのデータベースにクエリを実行できるようにして、アプリをダウンロードした既存のユーザーがコンピューターではなくBlackBerryデバイスで詳細を表示できるようにします。誰かが解決策を勧めてもらえますか?
1 に答える
0
phonegapを使用すると、AJAXを介してXMLHttpRequestsを送信できます。これは、純粋なJavaScriptで実行することも、jQueryを使用してさらに簡単に実行することもできます。
phpなどのサーバー側言語でデータベース作業を行う必要があります。
PhonegapアプリにjQueryが含まれていると仮定した場合の簡単な例を次に示します。
window.onload = function (){
document.addEventListener("deviceready", deviceReady, false);
}
function deviceReady{
var userName = 'Hans';
var userShoeSize = 'Medium';
$.post("http://example.com/responseHandler.php", {
userName: userName, userShoeSize:userShoeSize},
function(data) {
alert(data.greeting+data.shoeSize);
}, "json");
}
およびresponseHandler.phpのサーバー上:
<?php
header("Access-Control-Allow-Origin: *");
$response = array();
$response['greeting'] = 'Hi, '.$_POST['userName'];
$response['shoeSize'] = 'Your shoes are size '.$_POST['userShoeSize'];
echo json_encode($response);
?>
サーバー上でJSONエンコードされた文字列をエコーアウトすることにより、javascriptは応答を簡単に解析できます。JSONを使用する必要はなく、サーバーにエコーアウトされたものなら何でも操作できます。
ページをホワイトリストに登録し、サーバー上の他のオリジンからのクエリ文字列を許可することを忘れないでください。
于 2012-11-18T13:39:43.780 に答える