2010-11-28 41 views
2

J'envoie une requête ajax à mon serveur pour y mettre à jour certaines données. La demande est envoyée avec la fonction get de jquery. En cas de succès, je voudrais te effectuer une action, mais malheureusement, l'opération échoue tout depuis le serveur ne donne aucune réponse, même si Firebug montre clairement 200 Statut:L'envoi de GET au serveur ne donne pas de réponse (mais le statut est retourné)

alt text
Que, quand j'entrer cette adresse avec le navigateur, aussi tout semble bien. Des idées pour lesquelles cela ne fonctionne peut-être pas correctement? Voici mon js:

$(".interests-delete").live("click", function(){ 
     var id = $(this).attr('title'); 
     var user_id = "100000717262400"; 

     $.ajax({ 
      type: "GET", 
      url: "http://dev1.gecoloco.com/rte/ilike.php?", 
      data: "u=" + user_id + "&d=" + id, 
      dataType: "json", 
      success: function(response, status){ 
       alert(status); 
       console.log(response); 
       getLikes(); 
      } 
     }); 
     return false;    
    }); 
+1

Essayez d'omettre le point d'interrogation à la fin du paramètre 'url'. – karim79

+0

sans le point d'interrogation l'URL a changé pour ... php? U =, sans le '&' supplémentaire. Mais le problème reste. – mastodon

Répondre

0

Votre URL semble un peu drôle là-bas. La partie: "? & u = ..." devrait être "? U = ..."

+0

il semble que jq ajoute ce signe '&' supplémentaire. Encore un lien fonctionne avec celui-ci ajouté: http://dev1.gecoloco.com/rte/ilike.php?u=100000717262400&d=2 – mastodon

+0

@mastodon, coller l'URL directement sur le navigateur et voir ce qui se passe ?? – kobe

+0

vérifié à la fois sur chrome et ff et je reçois réponse JSON. Alors qu'est-ce qui me manque? – mastodon

0

Peut-être que quelque chose ne va pas avec votre fonction de succès. Il est possible que vous receviez une réponse, mais votre javascript se bloque quelque part dans votre fonction.

+0

mais la fonction sur le succès n'est même pas déclenchée, car il n'y a pas de réponse réelle. – mastodon

1

C'est probablement dû à la "même règle d'origine" qui impose que votre code html provienne du même domaine que l'appel ajax.Téléchargez votre page html non pas du système de fichiers mais du même serveur desservant les appels ajax. il fonctionnera.

0

Je l'ai vécu avant quand j'ai ouvert une page du système de fichiers local dans mon navigateur, par exemple file:///C:/Users/Eason/Desktop/mailer/index.html.

lorsque cette page tente de faire une requête AJAX, il causerait ce problème Lorsqu'il est publié sur un serveur Web (par exemple, Tomcat), cela fonctionnera. est une restriction de sécurité dans le navigateur pour empêcher le trafic inter-domaines dangereux.