使用 PHP ajax 和 jQuery 插入每个函数

Posted

技术标签:

【中文标题】使用 PHP ajax 和 jQuery 插入每个函数【英文标题】:each function INSERT with PHP ajax and jQuery 【发布时间】:2021-05-23 09:10:03 【问题描述】:

我正在尝试发送具有相同 name[] 属性的多个数据,但我无法执行该活动。当我使用此代码时,它不能很好地工作。 我也看过其他线程,但这对我没有帮助。 实际上,数据以我在控制台中看到的不同结构发送到服务器,如下所述。 我希望在 php 中插入数据 product - qty 希望发送数据的结构应该正确 -

例如,如果 - 产品 123456 QTY = 2500 AND 如果产品 452136 QTY 将 = 100

请帮助我,我如何在 PHP 中使用这些数据制作这个函数。

完整代码是-

$("form").unbind("submit").bind("submit", function(event) 
      var qty = [];
      $('input[name="quantity[]"]').each(function() 
        qty.push(this.value);
      );
      var product = [];
      $('input[name="product[]"]').each(function() 
        product.push(this.value);
      );
      $.ajax(
        url: "_URL_",
        type: "POST",
        data: 
          qty: qty,
          pro: product
        ,
        cache: false,

        success: function(response) 
          alert("OK");
          return false;
         else 
          alert("Not Ok");
          return false;
        
      );

//SENDING DATA STRUCTURE in CONSOLE
 
product[]: 123456
product[]: 452136
qty[]: 2500
qty[]: 100

// ARRAY STRUCTURE IN PHP
[product] => Array
    (
        [0] => 123456
        [1] => 452136
    )

[qty] => Array
    (
        [0] => 2500
        [1] => 100
    )
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

【问题讨论】:

【参考方案1】:

您的代码运行良好。我认为问题出在其他地方。尝试console.log($('input[name="product[]"]').length) 看看您的 jquery 选择器是否抓取正确的输入。

let product = [];
$('input[name="product[]"]').each(function() 
  product.push(this.value);
);
console.log(product);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input name="product[]" value="1">
  <input name="product[]" value="2">
  <input name="product[]" value="3">

更新答案

如果你想发送产品的关联数组,你应该使用这个名称结构

<input name="product[id]" value="123456">
<input name="product[qty]" vlaue="2500">

然后你会得到这种格式的php结果

'products' => [
  [
    'id' => 123456,
    'qty' => 2500
  ],
  [
    'id' => 452136,
    'qty' => 100
  ]
]

【讨论】:

我更新了这个问题..实际上请帮助

以上是关于使用 PHP ajax 和 jQuery 插入每个函数的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 JSON、jQuery、AJAX 和 PHP 之间的错误

使用 jQuery (ajax) 和 PHP 插入我的数据库

从 PHP (jQuery/AJAX) 插入 MySQL

无法使用 Php 和 jquery ajax 在 mysql 中插入 FormData

无法使用 PHP 和 JQuery Ajax 将新记录插入 mysql db

通过 for 循环和 php 数组进行多次插入(通过 jQuery AJAX 接收)