2015-05-29 38 views
0

我使用下面的代碼發送到PHP腳本,其中添加到MySQL數據庫。 PHP代碼工作正常,並設置爲接收兩個變量,但我不確定如何更改ajax代碼以傳遞2個(或更多)變量而不是1到PHP腳本。 我點名傳遞「任務A」,並希望提前發送兩個變量與AJAX(我有一個工作,但需要兩個)

+4

'{任務A:new_taskA,taskB:new_taskB}' – Daan

回答

0

{ taskA : new_taskA }是一個變量(一個對象)。但一個對象可以有多個鍵/值對:{ taskA: new_taskA , taskB : new_taskB}仍然是一個您傳遞的對象,但包含更多內容。你可以按照你想要的方式傳遞儘可能多的數據:字符串,數字,對象等等。

服務器端,得到這個數據回用:

$taskA = $_POST['taskA']; 
$taskB = $_POST['taskB']; 

甚至一個通用的循環到你所有的POST變量轉換爲PHP變量:

foreach ($_POST as $var => $value) $$var = $value; 

這將自動設置$taskA$taskB,$taskWhatever變量與相應的值。但是請注意安全,並且不要忘記清理內容。

+0

非常感謝您的所有答覆。所有的答案都大致相同,所以不得不選擇一個來打勾。它正在工作!謝謝你的時間。 – Timblebop

0

加上「taskB」

function add_task() { 
    $('.add-new-task').submit(function(){ 
    var new_taskA = $('.add-new-task select[name=new-taskA]').val(); 

    if(new_taskA != ''){ 
    $.post('add-task.php', { taskA: new_taskA }, function(data) { 
    $('.add-new-taskA select[name=new-taskA]').val(''); 

    $(data).appendTo('.task-list ul').hide().fadeIn(); 

       delete_task(); 
      }); 
    } 
    return false; 

    }); 
} 

function delete_task() { 
    $('.delete-button').click(function(){ 
    var current_element = $(this); 
    var id = $(this).attr('id'); 

    $.post('delete-task.php', { task_id: id }, function() { 
    current_element.parent().fadeOut("fast", function() { $(this).remove(); }); 
    }); 
    }); 
} 

非常感謝,您可以通過,符號傳遞mulple價值
{任務A變量:new_taskA, taskB:new_taskB}

0

如何:

$.post('add-task.php', { taskA: new_taskA, taskB: new_taskB }, function(... 

只需添加 '' 變量之間。 可以從jQuery API頁面的底部找到: http://api.jquery.com/jquery.ajax/

即:

$.ajax({ 
    method: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" } 
}) 
相關問題