Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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
如何通过ajax将包含复选框数据的数组发送到php脚本_Php_Jquery_Html - Fatal编程技术网

如何通过ajax将包含复选框数据的数组发送到php脚本

如何通过ajax将包含复选框数据的数组发送到php脚本,php,jquery,html,Php,Jquery,Html,还有一个问题,关于ajax以及如何从复选框表单发送数据而无需任何页面重新加载/重定向,我有以下代码,以下是标记: <html> <head> <title>guild</title> </head> <body> <div id="dive"> <form method="post" action=""> <i

还有一个问题,关于ajax以及如何从复选框表单发送数据而无需任何页面重新加载/重定向,我有以下代码,以下是标记:

 <html>
   <head>
      <title>guild</title>
   </head>
   <body>
      <div id="dive">
         <form method="post" action="">
            <input type="checkbox" name="userList[]" value="together" />together<br />
            <input type="checkbox" name="userList[]" value="we" />we<br />
            <input type="checkbox" name="userList[]" value="made" />made<br />
            <input type="checkbox" name="userList[]" value="it" />it<br />
            <input type="submit" id="submit" value="yeah we did it!" />
         </form>
      </div>
      and here's the jquery:
      <script type="text/javascript" src="jquery-1.8.0.min (1).js"></script>
      <script type="text/javascript">
         $(document).ready(function(){
         //when the button is clicked
         $("#submit").click(function(){
         //put the checked data into an array
         var userList= $('#dive input[type=checkbox]:checked').serializeArray();
         //send the data without page reload/refresh/redirect
         $.post("guild.php", {userList: userList},function(userList)
         {
         });
         });
         });
      </script>
   </body>
</html>

公会
一起
我们
制造

下面是jquery: $(文档).ready(函数(){ //单击按钮时 $(“#提交”)。单击(函数(){ //将选中的数据放入数组中 var userList=$('#潜水输入[type=checkbox]:选中')。serializeArray(); //在不重新加载/刷新/重定向页面的情况下发送数据 $.post(“guild.php”,{userList:userList},函数(userList) { }); }); });
因此,检查的数据应该发送到一个php文件,该文件将其写入一个文件,下面是脚本:

<?php
//get sent data
$userList=$_POST['userList'];
//open file to be written to
$fp=fopen("guild.html", 'a');
//write data into file
for($i=0;$i<sizeof($userList);$i++) 
{
fwrite($fp, "<div class='gn'>."userList[$i]"."<br>"."</div>");
}
//close file
fclose($fp);
?>
根据,您应该像这样发送post数据数组:

$.post("guild.php", { "userList[]": userList }...
根据,您应该发送post数据数组,如下所示:

$.post("guild.php", { "userList[]": userList }...

我使用该脚本并收到以下信息:

Array ( [0] => [object Object] [1] => [object Object] )
我使用以下代码:

function add_apartament ()
    {
var vedere= $('#vedere input[type=checkbox]:checked').serializeArray();
        $.ajax({
            type: "POST",
            url: "inc/ajax/add_apartament_action.php",
            data: { 
                    'vedere[]':vedere
                  },
            success: function (msg) {

                $("#action").html(msg);
            },
            error: function (xhr, err) {
                alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
                alert("responseText: " + xhr.responseText);
            }
        });


    }
还有php

<?php

print_r($_POST['vedere']);

?>

我使用该脚本并收到以下信息:

Array ( [0] => [object Object] [1] => [object Object] )
我使用以下代码:

function add_apartament ()
    {
var vedere= $('#vedere input[type=checkbox]:checked').serializeArray();
        $.ajax({
            type: "POST",
            url: "inc/ajax/add_apartament_action.php",
            data: { 
                    'vedere[]':vedere
                  },
            success: function (msg) {

                $("#action").html(msg);
            },
            error: function (xhr, err) {
                alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
                alert("responseText: " + xhr.responseText);
            }
        });


    }
还有php

<?php

print_r($_POST['vedere']);

?>


您是否在使用Firebug(或类似工具)调试jQuery的POST请求?检查Chrome中的XHR选项卡,看看请求是否真的发出了。您还应该能够看到正在发送的数据。JQuery的方法文档包含您想要的信息。。。在页面上搜索单词
array
。您是否使用Firebug(或类似工具)调试jQuery的POST请求?检查Chrome中的XHR选项卡,查看请求是否实际发出。您还应该能够看到正在发送的数据。JQuery的方法文档包含您想要的信息。。。在页面上搜索单词
数组
。您好,谢谢您的帮助,但是我已经做了建议的更改,仍然没有发生任何事情,页面只是重新加载,没有数据发送到脚本,下面是更改:$(document).ready(function(){$(“#submit”).submit(function(){event.preventDefault();var userList=$('#dive input[type=“checkbox”]:checked').serializeArray();$.post(“guild.php”,{“userList[]”:[userList]});});什么都没有发生,如果您能告诉我如何在不重新加载/重定向页面的情况下从复选框发送表单数据,那就太好了。根据您的评论,您的语法仍然不正确-应该是
{“userList[]”:userList}
userList
而不是
[userList]
。是的,谢谢,做了更改并使其正常工作,谢谢您的帮助。您好,谢谢您的帮助,但我已经做了建议的更改,但仍然没有发生任何事情,页面只是重新加载,没有数据发送到脚本,以下是更改:$(文档)。准备好了吗(function(){$(“#submit”).submit(function(){event.preventDefault();var userList=$('#潜水输入[type=“checkbox”]:checked')。serializeArray();$.post(“guild.php”,{“userList[]”:[userList]});});没有发生任何事情,如果您能告诉我如何在不重新加载/重定向页面的情况下从复选框发送表单数据,那就太好了。根据您的评论,您的语法仍然不正确-应该是
{“userList[]”:userList}
userList
而不是
[userList]
。是的,谢谢,做了更改并使其正常工作,谢谢您的帮助。