Bonjour,
Tout d'abord, voici le code me posant problème (utilisant jquery 1.5), dont le but est d'effectuer du long polling :
Ma requête se lance bien, est stoppée au bout d'une minute, mais ce n'est pas une erreur 404 que j'affiche en alerte, mais une erreur 302. Même lorsqu'un événement provenant du serveur arrive, pas de code 200, toujours du 302 ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 (function($) { $("#essai").append("YOO"); $(document).ready(connectLQR); function connectLQR() { $("#essai").append("request"); $.ajax({ url: "http://api.monsite.fr", dataType: "json", timeout: 70000, statusCode: { 200: function() { alert("-SUCCESS-"); connectLQR(); }, 302: function() { alert("-REDIRECT-"); }, 404: function() { alert("-NOTFOUND-"); connectLQR(); }, 408: function() { alert("-TIMEOUT-"); connectLQR(); }, 401: function() { alert("-UNAUTHORIZED-"); }, 0: function() { alert("-JQUERYERROR-"); connectLQR(); } } }); }; })(jQuery);
J'ai creusé dans tous les sens pour trouver la source, et je suis tombé sur les discussions sur le cross-domain.
Mon code se trouvant sur le domaine monsite.fr, et la requête qu'il contient visant http://api.monsite.fr, je me suis dit que mes problèmes pouvaient venir de là ...
En creusant un peu plus, je me rends compte que la plupart des solutions proposées (emploi de technologies Flash, de proxy, ...) me semblent peu élégantes. Quand je vois les codes des géants du Web, leurs requêtes visent bien directement leur API ...
Mes questions sont donc :
- Mon problème vient-il bien du cross-domain ?
- Comment le résoudre simplement ?
Merci d'avance.
EDIT : Je précise que j'ai besoin des 4 verbes de requêtes (et pas uniquement GET) ...
Partager