每个用户发布到php页面

每个用户发布到php页面,php,jquery,Php,Jquery,飞越者你好 我目前一直在思考的问题如下 我已设法添加了一个“✓" 发送给选定的用户 我为每个列出的用户添加了一个“数据id”属性 我想弄清楚的是,我是如何将用户数据id从jquery发布到我的php页面的 Jquery: task_takers = []; var i = 0; $(".new-task-takers ul.select_takers li").each(function(){ $(this).click(function(){ $(this)

飞越者你好

我目前一直在思考的问题如下

  • 我已设法添加了一个“✓" 发送给选定的用户
  • 我为每个列出的用户添加了一个“数据id”属性
我想弄清楚的是,我是如何将用户
数据id
从jquery发布到我的php页面的

Jquery:

  task_takers = [];
  var i = 0;
  $(".new-task-takers ul.select_takers li").each(function(){
    $(this).click(function(){
      $(this).toggleClass("active");
      if($(this).find('.fa').length > 0){
        $(this).find('.fa').remove();
      }else{
        $('<i class="fa fa-check" aria-hidden="true"></i>').insertBefore($(this).find("div"));
      }
      console.log("Selected:", $(this).data("id"));
      i += 1;
      task_takers[i] = $(this).data("id");
      console.log(task_takers);
      console.log(i);
    });
  });
  console.log(task_takers);
我得到的只是一个空值


编辑:

我也得到了它的工作,但问题是,如果您选择用户,取消选择并重新选择,阵列将被淹没

数组: [1:2,2:3,3:3,4:3,5:3,6:3]


如您所见,您必须将数据发送到php脚本才能使其正常工作

以下是文档中的一个小示例:

$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})
  .done(function( msg ) {
    alert( "Data Saved: " + msg );
  });
我通常使用它如下:

  $("form").submit(function(){
    $.ajax({
      type: 'POST',
      url: "/relative/path/to/php/script.php",
      data: $("form").serialize(),
      success: function(data) {
        console.log(data)
      },
      error: function(jqXHR, textStatus, errorThrown) {
        console.log(textStatus, errorThrown);
      }
    });
  });
希望能有帮助

编辑

自上次编辑以来: 可以通过使用从PHP脚本中删除重复的数组项来解决此问题

例如:

php > $arr = array("1" => 2, "2" => 3, "3" => 3, "4" => 3, "5" => 3, "6" => 3);
php > print_r($arr);
Array
(
    [1] => 2
    [2] => 3
    [3] => 3
    [4] => 3
    [5] => 3
    [6] => 3
)
php > $uniq_arr = array_unique($arr);
php > print_r($uniq_arr);
Array
(
    [1] => 2
    [2] => 3
)

必须将数据发送到php脚本才能使其正常工作

以下是文档中的一个小示例:

$.ajax({
  method: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
})
  .done(function( msg ) {
    alert( "Data Saved: " + msg );
  });
我通常使用它如下:

  $("form").submit(function(){
    $.ajax({
      type: 'POST',
      url: "/relative/path/to/php/script.php",
      data: $("form").serialize(),
      success: function(data) {
        console.log(data)
      },
      error: function(jqXHR, textStatus, errorThrown) {
        console.log(textStatus, errorThrown);
      }
    });
  });
希望能有帮助

编辑

自上次编辑以来: 可以通过使用从PHP脚本中删除重复的数组项来解决此问题

例如:

php > $arr = array("1" => 2, "2" => 3, "3" => 3, "4" => 3, "5" => 3, "6" => 3);
php > print_r($arr);
Array
(
    [1] => 2
    [2] => 3
    [3] => 3
    [4] => 3
    [5] => 3
    [6] => 3
)
php > $uniq_arr = array_unique($arr);
php > print_r($uniq_arr);
Array
(
    [1] => 2
    [2] => 3
)

查看您的控制台并使用错误报告以及html源代码和var_dump();调试工具我认为您正在寻找添加的新信息查看控制台并使用错误报告以及html源代码和var_dump();要调试的工具我想你正在寻找添加的新信息我已经在我的提交表单上使用ajax来包含数组,但是没有发送每个用户的信息。好的@Samuel,我看到了你的编辑,我编辑了我的答案。但是数组是通过jquery从console.log而不是php发送的。是的,这是你发送给php的数组Ajax,不是吗?我已经在我的提交表单上使用Ajax来包含数组,但是没有发送每个用户的信息。好的@Samuel,我看到了你的编辑,并编辑了我的答案。但是数组是通过jquery从console.log而不是php发送的。是的,这是你用Ajax发送给php的数组,不是吗?