0

私はかなり長い間ここで立ち往生しています。phonegap を使用してモバイル アプリケーションを開発しています。Android 4.0.4 でアプリをテストしましたが、問題なく動作しています。ただし、2.2.3 でテストしたところ、AJAX は次のエラー状態で終了しました。

準備完了状態 = 0

HTTP ステータス = 0

タイムアウトを非常に長くしようとしましたが、それでもその結果で終了します。何が問題なのかわかりませんが、同じ ajax 呼び出しを使用して別のアプリを開発し、Android 2.2.3 で正常に動作していますが、今回の違いは、SAML URL (ID プロバイダー) を呼び出すことです。

コードは次のようになります。

$.ajax({
                url: "...."+Math.random(),
                type: "POST",
                data: {
                    j_username: uname,
                    j_password: pword
                },
                cache: false,
                timeout: (100*1000),
                success: function(data, textStatus, jqXHR){
                    var contentType = jqXHR.getResponseHeader('Content-Type');
                    if (contentType == 'application/atomsvc+xml'){
                    }else{
                        alert(".....");
                        // clearTimeout(timer);
                        $.mobile.hidePageLoadingMsg();
                        enableAllButtons();
                    }
                },
                error: function(jqXHR, textStatus, errorThrown){
                    // clearTimeout(timer);
                    alert("Error Thrown : " + errorThrown);
                    alert("status : " + jqXHR.status + " " + jqXHR.statusText);
                    alert("ready state : " + jqXHR.readyState);
                    alert(".......");
                    $.mobile.hidePageLoadingMsg();
                    enableAllButtons();
                }
            });  

誰かがこれで私を助けてくれることを本当に願っています。

事前にご入力いただきありがとうございます。

よろしく、

アマンダ

4

1 に答える 1

0

コードは1つのことを除いて問題ないようです

URL で使用Math.random()しています。また、jQuery Cache が同じものを使用しているときに URLcache:false から削除するために Try を使用します。Math.random()

また、取得readyState = 0している間は CrossDomain の問題になります。dateType:'JSONP'AJAXオプションでその()にJSONPを使用します

于 2013-03-28T07:13:55.813 に答える