Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用AJAX发送两个变量(我有一个可以工作,但需要两个)_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php 用AJAX发送两个变量(我有一个可以工作,但需要两个)

Php 用AJAX发送两个变量(我有一个可以工作,但需要两个),php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我使用以下代码发送到一个php脚本,该脚本添加到mysql数据库中。php代码运行良好,设置为接收两个变量,但我不确定如何更改ajax代码,将2个(或更多)变量传递给php脚本,而不是1个。 我已将传递的变量命名为“taskA”,并希望添加一个“taskB” function add_task() { $('.add-new-task').submit(function(){ var new_taskA = $('.add-new-task select[name=new-tas

我使用以下代码发送到一个php脚本,该脚本添加到mysql数据库中。php代码运行良好,设置为接收两个变量,但我不确定如何更改ajax代码,将2个(或更多)变量传递给php脚本,而不是1个。 我已将传递的变量命名为“taskA”,并希望添加一个“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(); });
    });
    });
}

非常感谢您通过
符号

{taskA:new_taskA,taskB:new_taskB}

{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
$taskmark
变量。不过要注意安全,别忘了清理内容。

怎么样:

$.post('add-task.php', { taskA: new_taskA, taskB: new_taskB }, function(...
只需在变量之间添加“,”。 可以在jQuery API页面的底部找到:

i、 e:


{taskA:new_taskA,taskB:new_taskB}
非常感谢您的回复。所有答案大致相同,因此必须选择一个来勾选。它正在工作!谢谢你抽出时间。
$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})