Faire une demande Ajax sur Android ne renvoie aucune erreur de transport

J’ai développé un exemple d’application sur Android à l’aide de Phonegap.
Lorsque vous cliquez sur un bouton, une requête Ajax est envoyée au serveur ( http://192.168.0.199:8080/test.php ).
Le test.php fait écho à Hello World .
J’utilise Jquery 1.5 pour effectuer l’appel Ajax.

Voici le code pour l’appel Ajax:

$.ajax({ url:"http://192.168.0.199:8080/test.php", beforeSend: function(x) { alert("The URL "+url); }, type:'POST', crossDomain: true, success:function(data) { alert(data); }, error:function(XMLHttpRequest,textStatus, errorThrown) { alert("Error status :"+textStatus); alert("Error type :"+errorThrown); alert("Error message :"+XMLHttpRequest.responseXML); } }); 

Mais, chaque fois que cette fonction est appelée, elle génère une erreur:

Error Type: No Transport
Error Message: undefined
Error Status: error

Remarque: j’ai ajouté l’autorisation INTERNET dans le fichier Manifest. J’utilise un appareil G1 sous Android 1.6

Merci d’avance

On dirait que vous essayez d’appeler un client au sein d’un réseau local.
Essayez de valider votre access à ce réseau local.

Depuis jQuery 1.5, une nouvelle implémentation AJAX / XHR est utilisée. Et Android 1.5 / 1.6 ne dit pas qu’il prend en charge CORS (appel interdomaine). Donc, un moyen de «réparer» cela consiste à informer jQuery qu’il supporte cors:

 jQuery.support.cors = true; 

Je ne pouvais pas reproduire le problème sur 2.1 et plus. Je suppose donc que la mise en œuvre XHR à partir de cette version indique qu’elle prend en charge cors.