问题描述
我有这段代码,假设是要获取输入字段的值,然后将它们添加到数据库中。 值的收集工作正常,并且插入数据库的工作正常,我在数据发布中遇到问题。 我将其范围缩小到数据:和$ __ POST区域,我不确定我做错了什么。
JS脚本
$("#save_groups").click( function() {
var ids = [];
$.each($('input'), function() {
var id = $(this).attr('value');
//Put ID in array.
ids.push(id);
console.log('IDs'+ids);
});
$.ajax({
type: "POST",
url: "inc/insert.php",
data: {grouparray: ids },
success: function() {
$("#saved").fadeOut('slow');
console.log('Success on ' + ids);
}
});
});
PHP部分
<?php
include ('connect.php');
$grouparray = $_POST['grouparray'];
$user_ID = '9';
$sql = "INSERT INTO wp_fb_manager (user_id, group_id) VALUES ($user_ID, $grouparray)";
$result=mysql_query($sql);
if ($result === TRUE) {
echo "New records created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysql_error();
}
?>
1楼
Alex Tartan
0
2015-07-26 22:23:54
您不能通过ajax调用发送数组。
首先,使用类似:
var idString = JSON.stringify(ids);
并使用它: data: {grouparray: idString },
在PHP方面:
$array = json_decode($_POST['grouparray']);
print_r($array);