2016-06-02 1 views
-1

J'ai vu beaucoup de messages au sujet de l'installation du plugin de liste blanche de cordova mais après une semaine complète d'essai je n'ai toujours pas repéré ce qui est mon erreur.Ajax appel avec l'erreur de la liste blanche de cordova

Cet appel ajax lance ces alertes:

XHR { "readystate": 0, "état": 0, "statusText": "erreur"}.

état "erreur"

erreur ""

$.ajax({ 
    url: 'http://www.example.com/my_file.php', 
    data: {type: 'test', code: '11'}, 
    method: "GET", 
    dataType: "json", 
    timeout: 5000, 
    success: function (data) { 
     alert('done '+JSON.stringify(data)); 
    }, 
    error: function (xhr, status, error) { 
      alert('xhr '+JSON.stringify(xhr)); 
      alert('status'+JSON.stringify(status)); 
      alert('error '+JSON.stringify(error)); 
    } 
}); 

Je mis à jour mon application build PhoneGap avec la nouvelle implémentation cordova whitelist ajoutant ceci à la méta:

<meta http-equiv="Content-Security-Policy" content="default-src data: gap: https://ssl.gstatic.com 'unsafe-eval' *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.example.com; connect-src 'self' http://www.example.com"> 

ceci au config.xml:

<gap:plugin name="cordova-plugin-whitelist" source="npm"/> 
<allow-navigation href="*" /> 
<allow-intent href="*" /> 
<access origin="*" /> 

et cela dans les js avant les appels ajax:

$.support.cors=true; 

J'utilise tous les jokers au moment de l'essai, je vais changer plus tard. Ce fichier est le serveur php je vous appelle:

<?php 

header("Access-Control-Allow-Origin: *"); 
header('Content-Type: application/json'); 

$data = json_encode(array($_GET)); 

echo $data; 

?> 

Phonegap version de build cli-5.2.0 Android 4.1.1 toute aide sera appréciée

+1

Vos deux codes fonctionnent très bien. Assurez-vous que vos URL sont correctes, car cela pourrait être un problème. Pouvez-vous essayer 'alert (error);' pour voir quelle erreur vous obtenez actuellement – Molda

+0

exactement les mêmes demandes fonctionnent si elles sont appelées dans un navigateur, donc ce ne peut pas être l'URL et il devrait y avoir quelque chose à propos de la liste blanche cordova je suppose. Je modifie le post pour inclure l'erreur et clarifier la question. – Riccardo

Répondre

0

Essayez dans votre config.xml

<access origin="*"/> 
<access origin="tel:*" launch-external="yes"/> 
<allow-navigation href="*"/> 
<allow-navigation href="http://*/*"/> 
<allow-navigation href="https://*/*"/> 
<allow-navigation href="data:*"/> 
<allow-intent href="*"/> 
<access origin="*"/> 
+0

J'ai essayé mais j'ai toujours la même erreur, avez-vous écrit deux fois dans le but? – Riccardo

+0

Ah non mon erreur – Mark