使用 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 中插入 FormData