jQuery Mobile と PhoneGap アプリを作成しています。フォームを送信する必要があります。私はこのようなものを作りました:
$.ajax(
{
url: 'http://ip.ip.ip.ip:8070/services/rest/operator/login',//?email=' + email + '&password=' + haslo,
dataType: 'jsonp',
type: 'GET',
callback: 'jsonpCallback',
jsonpCallback: 'jsonpCallback',
jsonp: '_jsonp',
data: ({'email' : email, 'password' : pass}),
contentType: 'application/x-www-form-urlencoded',
success: function (data) {
window.location = ('file:///android_asset/www/custom/main.html');
},
error: function (data) {
alert('Login i/lub hasło nieprawidłowe '+data);
}
});
Chrome では動作しますが、私の Android デバイスでは動作しません。PhoneGap と jQuery Mobile の両方のドキュメントを読み、$.mobile.allowCrossDomainPages と $.support.cors をホワイトリストに登録してみました。PhoneGap がクロスドメインを許可することを知っているので、データ型を json に変更しようとしました。
残念ながら、サーバー側のコードにはアクセスできません。私はこの短い「wadl」を持っています。Web サービスは 200 成功または 401 アクセス拒否を返します。
<resource path="/operator">
<resource path="/login">
<method name="GET">
<request>
<representation mediaType="application/x-www-form-urlencoded">
<param name="email" style="query" type="xs:string"/>
<param name="password" style="query" type="xs:string"/>
</representation>
</request>
<response>
<representation mediaType="application/octet-stream"/>
</response>
私は何が欠けていますか?
注: [object Object] エラー メッセージを受け取ったのは一度だけです。しかし、私は方法がわかりません:)