Fehler beim ausführen von 'senden' auf 'XMLHttpRequest'

Arbeite ich an einer Cordova-Anwendung, die ajax verwenden. Mein problem ist, dass im debug die app funktioniert. Aber wenn ich ein release, bekam ich die Fehlermeldung :

{"readyState":0,"status":0,"statusText":"NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://sub.domain.tld'."}

Ich verstehe nicht von wo Sie kommen.
Ich fügte hinzu, erforderlich, Zeilen, um die res/xml/config.xml

<access origin="*" />
<access uri="*" subdomains="true" />
<feature name="http://api.phonegap.com/1.0/network"/>

Und die Erlaubnis, im INTERNET werden dem AndroidManifest. Aber der Fehler ist immer noch geschieht...

Ach, hier ist mein ajax-Aufruf:

jQuery.support.cors = true;
        $.ajax(
            {
                accepts: {
                    xml: "text/xml; charset=ISO-8859-1",
                    text: "text/plain; charset=ISO-8859-1"
                }
                , converters: {
                "text xml": jQuery.parseXML
            }
                , type: "POST"
                //, contentType: "text/xml; charset=ISO-8859-1"
                , contentType : "application/x-www-form-urlencoded; charset=iso-8859-1"
                , url: address
                , async: false
                , cache: false
                , crossDomain: false
                , data: msg
                , dataType: "text"
                , global: false
                , ifModified: false
                , username: this.params.server.login
                , password: this.params.server.pass
                , timeout: 500000
                , beforeSend: function(jqXHR) {
                    jqXHR.overrideMimeType('text/xml;charset=iso-8859-1');

                    jqXHR.setRequestHeader("Access-Control-Allow-Origin", "*");
                    jqXHR.setRequestHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
                    jqXHR.setRequestHeader("Access-Control-Allow-Methods","POST, GET, OPTIONS, DELETE, PUT, HEAD");
                }
            }
        )

Hoffen, dass Sie werde in der Lage sein, mir zu helfen eine Lösung zu finden.

jQuery.support.cors = true; - warum sind Sie überschreiben die jQuery-cors-Erkennung? Wenn ein browser nicht unterstützt cors, dann erzählen jQuery tut es nicht, helfen Sie mit nichts.
Access-Control-Allow-* sind die Antwort - Header, gesendet den server. Senden diese Header in Ihrer Anfrage, was zu ruinieren Ihre Anfrage. Ich haben wenig Erfahrung mit Cordova ' s cross-origin-Verhalten, obwohl, also ich weiß es nicht sicher.
Ich fügte hinzu, Jquery.Unterstützung.cors und die 3 dauert setRequestHeader hatte, wenn ich mein problem. Es war nicht vor der Arbeit.
Funktioniert es ohne die "async" option auf false gesetzt?

InformationsquelleAutor Kyu_ | 2015-02-11

Schreibe einen Kommentar