Javascript 如何使用AJAX将对象数据数组插入数据库
我想在submit()函数中将数组中的数据插入数据库表中,sql语法位于该函数中。我想插入数据,然后在成功后重定向到另一个页面。我不知道如何使用ajax实现这一点 我尝试使用ajax语法,但我不知道是否正确地为obj.name和obj.books传递了与数组中各自的值相对应的数据 例如: [{“名称”:“book1”,“books”:[“thisBook1.1”,“thisBook1.2”]},{“名称”:“book2”,“books”:[“thisBook2.1”,“thisBook2.2”,“thisBook2.3”]}]Javascript 如何使用AJAX将对象数据数组插入数据库,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我想在submit()函数中将数组中的数据插入数据库表中,sql语法位于该函数中。我想插入数据,然后在成功后重定向到另一个页面。我不知道如何使用ajax实现这一点 我尝试使用ajax语法,但我不知道是否正确地为obj.name和obj.books传递了与数组中各自的值相对应的数据 例如: [{“名称”:“book1”,“books”:[“thisBook1.1”,“thisBook1.2”]},{“名称”:“book2”,“books”:[“thisBook2.1”,“thisBook2.2”,
函数提交(){
var-arr=[];
对于(i=1;i将数组发送到服务器,在将数组发送到服务器之前对其进行字符串化,以便在服务器中解码json并恢复数组,然后将接收到的数据插入数据库
JS
请记住以下几点
Javascript/JQuery是客户端,因此无法访问服务器上的数据库
您可以通过AJAX将数据发送到next.php,然后使用此数据插入数据库
要改进调试,请使用以下代码确保在next.php中传递正确的数据
var_dump($_POST);
您的SQL语句必须在next.php中使用$\u POST传递的数据执行(因为您的AJAX请求的“类型”是POST)。您在将数据获取到php时遇到问题吗?能否显示next.php中的内容next.php中没有任何内容。这就是我添加SQL=(“INSERT-INTO-table(author,book)”值的原因('obj.name'、'obj.books')”;//mysqli_query(sql);
在提交函数syntax中,如何防止在按下button@learningbyexample将类添加到按钮并删除onclick
属性,
这样做$(“.submit btn”)。单击(函数(事件){event.preventDefault();/**cal your submit function**/submit();})
onclick=“addMore(\'auth'+authors+'\')””
和onclick=“removeDiv(\'bookDiv'+count+'\')”
正在向函数传递数据,如果我使其class=“addMore”和class=“removeDiv”如何传递参数。
function submit(){
var arr = [];
for(i = 1; i <= authors; i++){
var obj = {};
obj.name = $("#author" + i).val();
obj.books = [];
$(".auth" + i).each(function(){
var data = $(this).val();
obj.books.push(data);
});
//sql = ("INSERT INTO table (author, book) VALUES ('obj.name', 'obj.books')");
//mysqli_query(sql);
arr.push(obj);
}
sendToServer(arr)
$("#result").html(JSON.stringify(arr));
}
function sendToServer(data) {
$.ajax({
type: "POST",
data: {arr: JSON.stringify(data)},
url: "next.php",
success: function(){
}
});
}
$data = json_decode(stripslashes($_POST['arr']));
foreach($data as $item){
echo $d;
// insert to db
}
var_dump($_POST);