ajax多个数据发送参数php

时间:2016-07-27 08:30:54

标签: php jquery ajax

这有什么不对吗?

编辑:

 $check = $row['publish'] == 1 ? 'true' : 'false';

当我想要取消发布时它会起作用,但如果复选框为空,我就无法公开。

 OnClick="doAction(<?php echo $check;?>, <?php echo $id;?>);"



function doAction(check,id){
 $.ajax({

      type: "GET",
      url: "test.php",
      data: "check=" + check + "&id=" + id,
      success: function(msg){
                 alert( "Data Saved: " + msg );
               }
 });
}

和文件test.php:

$id = $_GET['id'];
        $check = $_GET['check'];
        if ($check == "false"){
            $query = mysql_query("update article set publish = 1 where id =" . $id);
            echo "Published";
        }
        else {
            $query = mysql_query("update article set publish = 0 where id =" . $id);
            echo "Unpublished";
        }

我无法在test.php文件中显示id。它什么都没给我。但是在doAction中参数是(..,id)所以它已被发送但我没有在ajax调用中接收它然后在文件中。为什么呢?

2 个答案:

答案 0 :(得分:1)

尝试更改:

data: "check=" + check + "&id = " + id,

要:

data: "check=" + check + "&id=" + id,

你应该定义HTML,JSON等用于此示例的响应:

dataType: "JSON"

答案 1 :(得分:0)

如果要传递参数中的值,请使用以下代码。

 OnClick="doAction('<?php echo $check;?>', '<?php echo $id;?>');"