我有这段代码,假设获取输入字段的值,然后将它们添加到数据库中。值集合正常工作,插入数据库工作正常,我遇到数据发布问题。我把它缩小到数据:和$ __ 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();
}
?>
答案 0 :(得分:0)
您无法通过ajax调用发送数组。
首先,使用类似的东西:
var idString = JSON.stringify(ids);
并使用它:data: {grouparray: idString },
在PHP方面:
$array = json_decode($_POST['grouparray']);
print_r($array);