Requête Ajax à défaut de cordova/phonegap application sur un périphérique réel
Je suis en train de construire un Cordova 4.0 Mobile jQuery 1.4.2 application Android et je vais avoir des problèmes avec un appel AJAX. J'ai regardé pour des questions similaires et déjà mis en œuvre les solutions, sans succès.
Voici ce qui arrive:
J'ai le texte suivant appel AJAX:
var request = $.ajax({
type: "GET" ,
crossDomain: true,
url: 'http://pubads.g.doubleclick.net/gampad/adx?iu=/XXX/YYY&sz=300x50&c=123456789'
});
request.done(function (response, textStatus, jqXHR){
console.log(response);
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error("DFP Plugin Error: " + textStatus, errorThrown);
});
Quand je lance mon appli dans mon navigateur de l'ordinateur, la requête fonctionne parfaitement. Cependant, lorsque je créer et déboguer l'application à partir d'un périphérique réel, la demande ne donne cette erreur: {"readyState":0, "responseText":"", "status":0, "statusText":"error"}
Je l'ai déjà activé $.support.cors = true;
et $.mobile.allowCrossDomainPages = true;
, et j'ai déjà <access origin="*" />)
dans mon config.xml fichier.
Quelqu'un pourrait-il m'aider à comprendre quel est le problème?
- Erreur de serveur.
- pas sûr, si c'était le cas, il ne serait pas travailler dans les deux cas, mais il fonctionne à partir du navigateur de bureau...
- Pouvez-vous nous dire de votre sortie de la console? L'utiliser pour obtenir la sortie de la console: stackoverflow.com/a/27044611/3499115
Vous devez vous connecter pour publier un commentaire.
Bien, ce n'est pas le genre de réponse que j'attendais, mais ce que j'ai fait pour résoudre ce problème: créer un tout nouveau Cordova 4.0 projet et copie le dossier www de l'autre. Créer et exécuter dans eclipse comme d'habitude et tout a fonctionné sans changer une seule ligne de code n'importe où dans le projet.
J'ai réalisé que le problème n'était pas dans le code parce que j'ai remarqué que d'autres appels AJAX que j'ai eu dans l'application (et utilisé pour bien fonctionner) ont été aussi échoué.
Donc je ne sais pas si c'est une Cordova 4.0 bug ou quelque chose, mais à un certain point AJAX cessé de travailler. Je poste ceci dans le cas où quelqu'un se jette dans le même problème.
Dans mon cas, j'ai été la mise à niveau de cordova 3,7 à 5 cordova
Voici ce que résolu pour moi: ajouter le plugin cordova-plugin-blanche
cordova plugin add cordova-plugin-whitelist
En raison du Nouveau Contenu de la Politique de Sécurité pour android Requêtes Ajax sont bloqués.
essayez de suivre et de voir si cela fonctionne.
Ouvrir votre config.xml
Remplacer
Avec
préparer la phonegap projet et de le construire à nouveau et vérifier sur l'appareil réel.
Ce qui concerne,
Jagat
En fait, j'ai manque juste la suite de plugin:
cordova-plugin-blanche
Après je l'ai installé, retirez la plate-forme android, re-ajout de la plate-forme android, construire et exécuter, il a travaillé!