Échec de l'exécution de 'envoyer' sur 'XMLHttpRequest'

Je suis en train de travailler sur une application Cordova, qui est l'utilisation d'ajax. Mon problème est que dans le débogage, l'application fonctionne. Mais quand je créer une version, j'ai obtenu l'erreur :

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

Je ne comprends pas d'où il vient.
J'ai ajouté les lignes requises pour l'res/xml/config.xml

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

Et l'autorisation de l'INTERNET dans le AndroidManifest. Mais l'erreur est toujours en passe...

Et oh, voici mon appel ajax:

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");
                }
            }
        )

Espère que vous pourrez m'aider à trouver une solution.

jQuery.support.cors = true; - pourquoi êtes-vous primordial de jQuery cors de détection? Si un navigateur ne supporte pas de la scro, alors en train de dire jQuery il ne ne va pas aider avec quoi que ce soit.
Access-Control-Allow-* sont réponse en-têtes, envoyé par le serveur. L'envoi de ces en-têtes dans votre demande peut-être ce qui est de ruiner votre demande. J'ai peu d'expérience avec Cordova du cross-origin comportement, si, donc je ne sais pas pour sûr.
J'ai ajouté Jquery.de soutien.la scro et le 3 dure setRequestHeader quand j'ai eu mon problème. Il ne fonctionnait pas avant.
Cela fonctionne sans async option est définie sur false?

OriginalL'auteur Kyu_ | 2015-02-11