Ajax没有将值传递给php文件

Ajax没有将值传递给php文件,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我已经努力解决这个问题好几个小时了-任何帮助都将不胜感激!我在表单中有一个(长)复选框数组。省略大部分,假设我的html是: <form name="SelectCategories" method="post"> <input type="checkbox" name="category[A]" value="A" id="A" /><label for="A">A</label> <input type="checkbox

我已经努力解决这个问题好几个小时了-任何帮助都将不胜感激!我在表单中有一个(长)复选框数组。省略大部分,假设我的html是:

<form name="SelectCategories" method="post">
    <input type="checkbox" name="category[A]" value="A" id="A" /><label for="A">A</label>
    <input type="checkbox" name="category[B]" value="B" id="B" /><label for="B">B</label>
    <input type="checkbox" name="category[C]" value="C" id="C" /><label for="C">C</label>
    <input type="submit" value="Submit" id="submit">
</form>

<div id="display">Select something</div>

A.
B
C
挑选
下面是一些PHP:

<?php 
error_reporting(0);
$categoriesarray=implode(',',$_POST['category']);
echo $categoriesarray;
?>

然后我有一些JQuery,将categoriesarray传输到php页面。(由于某种原因,当粘贴JQuery时,上面的回音并不总是起作用,但有时会起作用)

$(文档).ready(函数(){
$(“表格”)。关于(“提交”,职能部门(e){
e、 预防默认值();

$ajax.({url:“Data.php”,键入:“POST”,Data:{data1:'很难理解这里到底在做什么,但这里有一些事情需要考虑:

<?php 
error_reporting(0);
$categoriesarray=implode(',',$_POST['category']);
echo $categoriesarray;
?>
现在,您得到了一个PHP数组,可以处理它并获取相关数据。 一般来说,你只需要做category[],然后让它自己解决


如果您认为我误解了您的意图,我深表歉意,但我无法理解。

将复选框元素的名称更改为
类别[]
调试此类错误的常用方法是:打开网络选项卡,每次发送时检查请求和响应。检查是否传递了正确的值,以及php是否正确计算了这些值。是否自行运行php文件以查看返回的内容?Krister-不幸的是,这没有什么区别(我把它放在那里还有另外一个原因,但它没有改变…)TimSPQR-是的-如果我把php文件中的行更改为$list=“a,B,C”它工作得很好。所以问题肯定在于将类别从我的html表单传输到php文件-我只是不知道在哪里…嗯,这很有趣,Voltlight,但我不认为这是问题所在。如果我这样做:看,我从中得到的是,AJAX从来没有真正从用户发送信息。它发送一个字符串放在那里另外,我认为你不能在这里发布代码标记。
    <?php
    $list= $_POST['data1'];
    $cxn=mysqli_connect($host, $username, $password, $database)
    or die("Not connected");
    $query = "SELECT * FROM table WHERE 1 in ($list) ORDER BY RAND() LIMIT 10";
    $result = mysqli_query($cxn,$query)
    or die("Select something");
    while($row = mysqli_fetch_assoc($result)){
        echo $row['columnname'];

    }
?>
<?php 
error_reporting(0);
$categoriesarray=implode(',',$_POST['category']);
echo $categoriesarray;
?>
$(document).ready(function(){
$("form").on("submit", function(e){
e.preventDefault();
$ajax.({url:"Data.php", type:"POST", data:{data1 : '<?php echo 
$categoriesarray; ?'>}, success: function(result){
$("#display").html(result);
}});
});
})
$("form").on("submit", function(e){
var data = $( "form" ).serialize();
e.preventDefault();
$ajax.({url:"Data.php", type:"POST", data: data}, success: function(result){
$("#display").html(result);
}});
});