2010-01-31 2 views
0

У меня есть следующий код, который работает:JQuery вопрос Ajax вызова с 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> 

И он посылает через обновления location.href все данные по следующему сценарию:

<?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'"); 
     } 
    } 
} 

?> 

Что я бы как это сделать, это отправить данные с помощью ajax, и это то, что у меня есть до сих пор, но это не работает:

<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> 

ответ

2

изменить t Ype к "POST" и потерять вопросительный знак в данных

ИЛИ

удалить данные и Concat, что вы имеете в данных с URL

+0

Это работает, но я этого не понимаю: Я изменил метод ajax на POST, но оставил $ _GET в файле test.php, и он работает. Но если я изменю его на $ _POST, он перестанет работать? – kylex

1

Попробуйте изменить:

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

с

data: $.tableDnD.serialize(), 

Нет необходимости в вопросительном знаке, jquery делает это за вас.