2

完全に回答されていない非常によく似た質問を見ました。ここです

基本的な問題は、Android の Phonegap で動作する XmlHttpRequest AJAX 呼び出しを最終的に取得したことですが、キャッチは Android エミュレーターでのみ動作することです。

エミュレーターで実行すると、XML 応答でアラートが表示されます。デバイスで実行すると、何もないアラートが表示されます。空白です。

私は最新の Phonegap 1.9 を実行しており、エミュレーターは Android 2.3.3、API レベル 10 を実行しています。デバイスは 2.3.5 を実行している Samsung Galaxy S です。

リクエストを行うために使用される JavaScript は次のとおりです。

function sendXMLRequest() {
    request = new XMLHttpRequest();
    request.open("POST","http://www.xxx.com/path/to.cgi",true);

    request.onreadystatechange = function() {
        if (request.readyState == 4) {
            if (request.status == 200 || request.status == 0) {
                    alert("Server responded with: " + request.responseText);
                }
            }
        }

    postdata = "big long XML string that I've quadruple checked";
    try {
        request.send(postdata);
    } catch(e) {
        console.log(e);
        alert("Error, could not locate vehicle, please try again later.");
    }
}

私は cordova.xml と plugins.xml を持っていて、すべての権限を持っています。マニフェストで INTERNET 権限を削除しようとしました。デバイスには間違いなくインターネット接続があります。

助けてくれてありがとう、感謝します。

4

0 に答える 0