Подтвердить что ты не робот

Мыльный запрос с jQuery/Phonegap всегда терпит неудачу на Android

Я разработал приложение для iPhone/Android с мобильным телефоном jQuery и Phonegap (теперь Cordova). Это приложение использует разные службы без проблем. Одна из этих служб - это Soap, поэтому я использую jsSOAPClient (jquery.jqSOAPClient.js) для jQuery, чтобы запросить услугу. У меня нет никаких проблем с устройства iOS, но запрос всегда терпит неудачу на Android.

В jsSOAPClient запрос выглядит так:

        function getResponse(xData, status) {
            if(!!callback) {
                SOAPClient.Status = xData.status;
                SOAPClient.ResponseText = xData.responseText;
                SOAPClient.ResponseXML = xData.responseXML;
                callback(xData.responseXML);
            }
        }

        $.ajax({
             type: "POST",
             url: SOAPClient.Proxy,
             dataType: "xml",
             processData: false,
             data: content,
             complete: getResponse,
             beforeSend: function(req) {
                req.setRequestHeader("Method", "POST");
                req.setRequestHeader("Content-Length", SOAPClient.ContentLength);
                req.setRequestHeader("Content-Type", SOAPClient.ContentType + "; charset=\"" + SOAPClient.CharSet + "\"");
                req.setRequestHeader("SOAPServer", SOAPClient.SOAPServer);
                req.setRequestHeader("SOAPAction", soapReq.Action);
             }
        });

Значение "status" "getResponse" - "ошибка", а значение "SOAPClient.Status" (равное "xData.status" ) равно "0".

Сервер, похоже, вообще не получает запрос...

Я повторяю, что тот же код с теми же запросами имеет результаты в iOS.

Спасибо за помощь.

/ EDIT */ Я попытался прокомментировать строку:

//type: "POST",

похоже, работает, я имею в виду, что у меня есть код состояния 200 в этом случае, даже если у меня есть ошибка синтаксического анализа из-за неожиданного формата ответа.

4b9b3361

Ответ 1

По-видимому, есть ошибка в Android 2.x, где настройка Заголовок Content-length вызывает описанную вами проблему. Это выглядит как ошибка была исправлена ​​в Android 4.0.3. Поэтому попробуйте код немодифицированный в эмуляторе 4.0.3, и он должен работать, а затем вернуться к 2.x и удалите заголовок Content-length, чтобы узнать, работает ли он.