Zapytanie o mydło z jQuery / Phonegap zawsze kończy się niepowodzeniem na Androidzie
Opracowałem aplikację na iPhone'a / Androida z jQuery mobile i Phonegap (obecnie Cordova). Ta aplikacja korzysta z różnych usług bez problemu. Jedną z tych usług jest Soap, więc używam jsSOAPClient (jquery.jqSOAPClient.js) dla jQuery w celu zażądania usługi. Nie mam żadnego problemu z urządzeniem z systemem iOS, ale zapytanie zawsze kończy się niepowodzeniem na Androidzie.
W jsSOAPClient żądanie wygląda tak:
<code> 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); } }); </code>
Wartość „status” „getResponse” to „błąd”, a wartość „SOAPClient.Status” (równa „xData.status”) to „0”.
Wydaje się, że serwer w ogóle nie odbiera żądania ...
Powtarzam, że ten sam kod z tymi samymi danymi żądania ma wyniki na iOS.
Dzięki za pomoc.
/ EDYTOWAĆ*/ Próbowałem skomentować linię:
<code>//type: "POST", </code>
wydaje się działać, mam na myśli, że mam kod statusu 200 w tym przypadku, nawet jeśli mam błąd analizy składni z powodu nieoczekiwanego formatu odpowiedzi.