2010-03-09 8 views
1

J'ai un appel jQuery AJAX avec le type: 'GET' comme ceci:Type jQuery AJAX: 'GET', en passant problème de valeur

$.ajax({type:'GET',url:'/createUser',data:"userId=12345&userName=test", 
    success:function(data){ 
    alert('successful'); 
    } 
}); 

Dans ma sortie de la console est: GET: http://sample.com/createUser?userId=12345&userName=test params: userId 12345 test userName

Dans mon script, je devrais obtenir la valeur en utilisant $ _GET ['userId'] et $ _GET ['userName'] mais je ne peux pas obtenir la valeur transmise par la requête ajax en utilisant la méthode GET.

Des idées sur comment faire cela?

grâce,

+0

Où sont le nom d'utilisateur et useId viennent? –

+0

Je le sérialise à partir de la forme. var dt = $ ('# userForm'). serialize(); – Trez

Répondre

12

La seule chose que je peux voir de mal avec le code (qui ne s'applique plus car la question a été éditée (ce qui suggère que le code a été réécrit pour la question et pourrait ne pas refléter exactement le code réel utilisé)) est que la fonction de succès est au mauvais endroit.

Vous avez:

$.ajax(
    { 
     type:'GET', 
     url:'/createUser', 
     data:"userId=12345&userName=test" 
    }, 
    success: function(data){ 
    alert('successful'); 
    } 
); 

qui devrait être:

$.ajax(
    { 
     type:'GET', 
     url:'/createUser', 
     data:"userId=12345&userName=test", 
     success: function(data){ 
     alert('successful'); 
     } 
    } 
); 

Malgré cela, votre description de la sortie de la console suggère que les données sont envoyées correctement. Je vais essayer de tester avec ce script pour voir ce que PHP retourne en fait (vous pouvez voir le corps de la réponse dans la console Firebug):

<?php 
    header("Content-type: text/plain"); 
    print_r($_REQUEST); 
?> 
+0

Désolé pour l'erreur, oui, il devrait ressembler à ce que vous avez suggéré. – Trez

-2

L'URL est manquant l'extension, et vous pouvez transmettre des données comme un objet, afin jquery le convertir en une chaîne

$.ajax({ 
    type:'GET', 
    url:'/createUser.php', 
    data:{"userId":"12345","userName":"test"}, 
    success:function(data){ 
    alert('successful'); 
    } 
); 
+0

URL ne peut pas "manquer l'extension" ce sont des URL et non des noms de fichiers. En outre, la méthode jQuery Ajax accepte explicitement une chaîne: "" "Il est converti en une chaîne de requête, si ce n'est déjà une chaîne." "" – Quentin