ajax多个数据发送参数php

问题描述:

这是什么错?ajax多个数据发送参数php

编辑:

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

它工作时,我想出版,但如果复选框是空的,我不能publised。

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的file.it的ID给我什么。但在doAction参数中是(..,id),所以它被发送了,但是我没有在ajax调用中接收它,然后在文件中。为什么?

+0

将'$ check'指定为* checked *或* unchecked *。而且,在** test.php **中,'if'中的条件是'$ check ==“false”'。为什么? –

+0

试试这个:'$ .ajax({type:“GET”, url:“test.php?check =”+ check +“&id =”+ id, success:function(msg){ alert( “Data Saved:”+ msg); } });' – Pankaj

+0

那么如何分配$ check?在test.php中,如果我写echo $ check,如果我没有发布,它会给我(id,false)。但是当我点击复选框只发布它检查,但doesn; t返回任何东西,既不是身份证或检查状态。 – johnwilliam25

尝试改变:

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

要:

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

你应该定义什么会响应HTML,JSON等使用这个例子:

dataType: "JSON" 
+0

不起作用。我认为问题是$ check = $ row ['publish'] == 1? 'checked':'unchecked';.它不适用于未检查。 – johnwilliam25

+0

将您的代码编辑为当前版本。并尝试更改$ row ['publish'] == 1? 'checked':'未选中';到$ row ['publish'] == 1? '真假';因为您尝试检查该值未选中或未选中。传递到html – rad11

+0

我编辑了代码 – johnwilliam25

如果您在下面的代码中使用参数传递值。

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