2011-10-31 4 views
1

Je travaille sur une fonction javascript qui, lorsqu'elle est appelée, fera une requête ajax sur une page séparée. La page séparée gère la manipulation et l'affichage d'un tableau.

Pour afficher la liste utiliser la fonction:

$('#pub-mod [name="userid"]').change(function() { 
    var usr = $('#pub-mod [name="userid"]').val(); 
    if (usr != '') { 
     $.ajax({ 
     url : 'ajax_admin_load_pubs.php', 
     data: {'action' : 'load_'+usr}, 
     dataType : "text", 
     success : function(response) { 
      $('#pub-mod-list').html(response); 
     } 
     }); 
    } 
}); 

Cette fonction fonctionne comme prévu, et si je place print_r($_GET); dans le fichier ajax je Array ([action] => load_userid) apparaître.

La fonction pour modifier la liste ressemble à ceci:

function modify_pubs(action) { 
    $.ajax({ 
     url : 'ajax_admin_load_pubs.php' 
     data: {'action' : action}, 
     dataType : "text", 
     success : function(response) { 
      $('#pub-mod-list').html(response); 
     } 
    }); 
} 

Cette fonction ne fonctionne pas comme prévu, et si je place print_r($_GET); dans le fichier ajax j'ai Array ([action] => load_load) apparaître.

J'ai vérifié que l'action dans la deuxième fonction renvoie la valeur correcte, et à ce stade, je suis un peu perdu à ce qui pourrait être faux.

Des idées?

Réponses aux commentaires ainsi: jusqu'à présent

Je vous appelle modify_pubs de liens texte générés par le code utilisé pour l'afficher. (C.-à-<button onclick="modify_pubs(userid_c_up);">up</button>

La partie pour "modify_pubs (userid_c_up)" a été vérifié par juste l'avoir alerte la valeur transmise

En outre, je voir Array ([action] => text_string_from_action) -. Charles Smith 3 minutes modifier il y a

action est une chaîne de texte qui est underscore délimité pour exécuter des parties séparées du code ajax.

+0

* Comment * vous appelez la fonction 'modify_pubs'? –

+0

Qu'attendez-vous de voir? À partir du code affiché, vous obtenez ce que vous devriez être. –

+0

Qu'est-ce qu'une action? Où est-ce défini? – mddw

Répondre

1

tout d'abord, pourquoi ne pas utiliser POST au lieu de GET?

Deuxièmement, id Je ne sais pas si cela aidera, mais vous le faites mal. Selon les docs de jQuery, vous mettez l'emplacement où vous voulez que votre demande soit envoyée dans le "url", et les données que vous voulez envoyer dans "data", vous ne combinez pas le 2 dans l'URL , alors peut-être que cela fonctionnera. (L'utilisation .get() au lieu de .ajax())

$.post("ajax_admin_load_pubs.php", { "action": action}, 
    function(response){ 
     $('#pub-mod-list').html(response); 
    }, "text"); 

Et avec un peu de modifier votre exemple:

function modify_pubs(action) { 
    $.ajax({ 
     url : 'ajax_admin_load_pubs.php', 
     data : {"action" : action}, 
     dataType : "text", 
     type : 'post', 
     success : function(response) { 
      $('#pub-mod-list').html(response); 
     } 
    }); 
} 
+0

Je suis allé de l'avant et j'ai essayé, et je n'ai pas résolu le problème, vous avez raison, donc je vais mettre à jour le post original pour refléter cela. –

+0

Aussi, pourquoi ne pas utiliser POST? J'utiliserais la publication, car il y a moins de risque que mes données soient reformatées d'une manière étrange. – Webbies

+0

Modifier l'appel ajax pour avoir 'type: 'post',' le corriger. Si vous pouvez éditer votre réponse, je l'accepterai. En outre, sur les données, vous devriez avoir la clé de tableau entre guillemets. Remerciements –

Questions connexes