2012-01-04 8 views
1

PhoneGapでHTTP GETを行う最良の方法は何ですか?私はこのためにJavaを使いたくないので、今質問はjQueryで行うべきかJavaScriptで行うべきかです。 PhoneGapのJavaScriptは主にUIイベントに使用されています。 PhoneGapでHTTP GETを達成する他の方法はありますか?PhoneGapのHTTPメソッド

編集:アンドリューLunny(PhoneGapの初心者のためのガイド)によって書かれた本で、著者は言及し、Twitterの検索APIを利用したリモートリソースにアクセスする方法についての例を示します - サーバーへのHTTPリクエストを作成します。この場合、JSONオブジェクトをサーバーからの応答として取得しているため、あまり役に立ちません。私のアプリケーションでは、厳密なhtml本文が必要です。 (codemonkeyとサイモン・マクドナルドによって提案されたように)

EDIT:この場合の質問に

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.css" /> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script> 
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js"></script> 

<script type="text/javascript"> 
$.get('http://www.google.com', function(data) { 
     alert(data); 
    }); 
</script> 

は、提案のうち、続い:

私は外部のライブラリを使用する必要があります(jQueryのモバイル/ jQueryの)またはでありますそれらをプロジェクトに含める方が良いでしょう。もちろん、最初の提案では、ユーザーに強制的にライブラリをダウンロードさせるように強制しますが、これは少し効率が悪いですか、それともプロジェクトに含めるだけですか?この場合、jQueryライブラリを配置するプロジェクト(ファイルシステム)の適切な場所は、「www」「libs」「res」などです。サイモンマクドナルドの提案と同様に

<script> 
function get() { 
     var request = new XMLHttpRequest(); 
     request.open("GET", "http://www.google.com", true); 
     request.onreadystatechange = function() { 
      if (request.readyState == 4) { 
       if (request.status == 200 || request.status == 0) { 
        // -> request.responseText <- is a result 
       } 
      } 
     } 
     request.send(); 
    } 
</script> 

利点:追加のライブラリは

答えて

4

Andrewが書いたことは、リモートURLからJSONの代わりにhtmlコードを取得するだけの理由がないためです。 jQueryを使用してGETを行うことはできますが、そのライブラリを追加する必要がない場合は、まっすぐなXHRを使用できます。

http://simonmacdonald.blogspot.com/2011/12/on-third-day-of-phonegapping-getting.html

ラインの場合:ここで

は、私が書いた簡単なチュートリアルです

var tweets = JSON.parse(request.responseText); 

あなただけだろう:

var myBody = request.responseText; 

それがフルになるとあなたがリクエストしたページのHTML。

+0

あなたの提案は使いやすく、追加のライブラリは必要ありません。今のところ、提案されているすべてのソリューションの中で最適なソリューションです –

0

を必要としない、私はjQueryのは、あなたの最良の選択肢だと思います。 PhoneGapはGET要求を行うための何も提供しません。主な役割は、HTML/JSアプリケーションでネイティブリソースにアクセスできるようにすることです。

+0

あなたの提案に関して私の質問が更新されました –

+0

確かにネイティブリソースの1つがネイティブHTTPリクエストです –

関連する問題