gpt4 book ai didi

javascript - 如何使用ajax将我的jquery数组保存到php

转载 作者:行者123 更新时间:2023-12-03 12:08:01 24 4
gpt4 key购买 nike

我有一个脚本,可以获取我添加的表的内容。

我想做的是将内容保存到数据库中。

图中是表格和我从表格中获取的数据集变量的内容。

我检查数据集并提醒它检查它是否有值(value)。

我的问题是我在保存传递给 php 的数组时遇到问题,因为它无法工作,无法保存。我的 saveTable.php 中的 foreach 参数无效。

enter image description here

脚本:

var names = [].map.call($("#myTable2 thead th"), function (th) {
return $(th).text();
});


var x = [].map.call($("#myTable2 tbody tr"), function (tr) {
return [].reduce.call(tr.cells, function (p, td, i) {
p[names[i]] = $(td).text();
return p;
}, {});
});

var dataSet = JSON.stringify(x);
alert(dataSet);

$.ajax(
{
url: "saveTable.php",
type: "POST",
data: { tableArray: dataSet},
success: function (result) {

}
});

保存表.php

<?php

error_reporting(-1);
ini_set('display_errors', 'On');

$host = "localhost";
$user = "root";
$pass = "";
$db = "test";

$dbc = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$tableArray = isset($_REQUEST['tableArray']) ? $_REQUEST['tableArray'] : "";

$sql = "INSERT INTO viewTables (name, age, gender, action) VALUES (:name, :age, :gender, :action)";
$sth = $dbc->prepare($sql);
foreach( $tableArray As $v){
$sth->bindValue(':name', $v[0], PDO::PARAM_STR);
$sth->bindValue(':age', $v[1], PDO::PARAM_STR);
$sth->bindValue(':gender', $v[2], PDO::PARAM_STR);
$sth->bindValue(':action', $v[3], PDO::PARAM_STR);
$sth->execute();
}

?>

新错误:

enter image description here

最佳答案

看来您正在尝试在 foreach 循环中使用 String 类型。尝试:

$tableArray = isset($_REQUEST['tableArray']) ? json_decode($_REQUEST['tableArray']) : array();

这应该可以正常工作。祝你好运,希望这会有帮助!

关于javascript - 如何使用ajax将我的jquery数组保存到php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25096045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com