我不能将我的数组的值推送到我的php文件。
脚本:
<script>
$(document).ready(function() {
var item_code = [];
$('#save').click(function() {
var item_name = [];
var item_value = [];
var item_quantity = [];
for (var i = 0; i < item_code.length; i++) {
item_code.push($(this).val());
}
$('.item_name').each(function() {
item_name.push($(this).val());
});
$('.item_value').each(function() {
item_value.push($(this).val());
});
$('.item_quantity').each(function() {
item_quantity.push($(this).val());
});
$.ajax({
url: "insert2.php",
method: "POST",
data: {
item_name: item_name,
item_code: item_code,
item_value: item_value,
item_quantity: item_quantity,
},
success: function(data) {
}
});
</script>
每当我在搜索栏上搜索项目代码时,我都会在“item_code”中存储一个值。之后,我想在insert2.php上推送item_code []的值。
我没有收到任何错误,但系统本身已被冻结。
我猜测“item_code”变量也在代码中的其他地方全局声明,否则迭代它就没有意义了。尝试使用其他名称而不是“item_code”将其发送到“insert2.php”。
for (var i = 0; i < item_code.length; i++) {
item_code.push($(this).val());
}
你不能将数据推送到你正在循环的同一个数组中,因为你永远不会到达它的末尾,除非内存限制会告诉你。声明“item_code_second”并进入:
$(document).ready(function() {
var item_code_second = [];
并改变你的循环:
for (var i = 0; i < item_code.length; i++) {
item_code_second.push($(this).val());
}
你也正在推送相同的值“$(this).val()”和item_code中的值一样多,这在名称,数量和价值方面没有任何意义和完全相同的值。 $(this)表示按下的按钮,不要忘记您处于点击事件中。