PhoneGapでAjaxを使う
PhoneGapでサーバーと通信をすることになったらAjaxを使うのが一般的かなと思いますが、
jQueryを使ったAjax通信(クロスドメイン編) - おかひろの雑記で書いたようなクロスドメイン制約を
考慮しなくてはいけないのかなぁー って試してみたら、気にする必要はないみたいでした。
たとえばサーバー側がこんな感じのJSONを返すとしたら
{"id" : "A001","name" : "山田太郎"};
こういう記述で問題ありません。
$.ajax({ url : 'http://www.example.jp/normalAjax', success : function(data) { var jsonData = $.parseJSON(data); alert(jsonData.name); }, error : function(data) { alert('Error!'); }, complete : function(data) { } });
サーバーがAccess-Control-Allow-Originヘッダーをつけてくれなくても大丈夫みたいでした。
ただ、これだけでは実はダメで、XcodeでPhoneGapのプロジェクトを開き、Cordova.plistファイルを編集する必要があります。
ExternalHostの欄に、Ajax通信するサーバーを指定します。
これで通信できるようになると思います。