2010-01-31 11 views
0

je le code suivant qui fonctionne:jQuery numéro d'appel ajax avec GET

<script type="text/javascript"> 
    $(document).ready(function() { 
    // Initialise the table 
    $('#table_1').tableDnD({ 
    onDrop: function(table, row) { 
    $.tableDnD.serialize(); 

    location.href="test.php?" + $.tableDnD.serialize(); 
    } 
}); 

}); 
</script> 

Et il envoie par un rafraîchissement location.href toutes les données du script suivant:

<?php 
$table_1[] = $_GET['table_1']; 
$i = 0; 
if(!empty($table_1[0])){ 
    foreach($table_1 as $value) { 
     foreach($value as $row){ 
      $i++; 
      mysql_query("UPDATE mytable SET tableOrder='$i' WHERE id = '$row'"); 
     } 
    } 
} 

?> 

Ce que je comme à faire est d'envoyer les données en utilisant ajax, et c'est ce que j'ai jusqu'à présent, mais ça ne fonctionne pas:

<script type="text/javascript"> 
    $(document).ready(function() { 
    // Initialise the table 
    $('#table_1').tableDnD({ 
    onDrop: function(table, row) { 
    $.tableDnD.serialize(); 

    $.ajax({ 
     type: "GET", 
     url: "test.php", 
     data: "?"+$.tableDnD.serialize(), 
     success: function(html){ 
      alert("Eureka!"); 
     } 
    }); 

     } 
    }); 

}); 
</script> 

Répondre

2

ype à "POST" et de perdre le point d'interrogation dans les données

OU

supprimer les données et concat ce que vous avez des données avec url

+0

Cela fonctionne, mais ce que je ne comprends pas est la suivante: J'ai changé la méthode ajax à POST mais laissé le $ _GET dans le fichier test.php et cela fonctionne. Mais si je le change en $ _POST, ça arrête de fonctionner? – kylex

1

Essayez de changer:

data: "?"+$.tableDnD.serialize(), 

avec

data: $.tableDnD.serialize(), 

Pas besoin de point d'interrogation, jquery le fait pour vous.