Php 第二次单击后从数据库下载数据
为什么在第二次单击后显示数据 也许我没有正确地执行ajax请求。我想将数据从数据库输出到页面,并在添加后进行更新 你能找到问题所在吗 main.js dataconnect.phpPhp 第二次单击后从数据库下载数据,php,mysql,ajax,Php,Mysql,Ajax,为什么在第二次单击后显示数据 也许我没有正确地执行ajax请求。我想将数据从数据库输出到页面,并在添加后进行更新 你能找到问题所在吗 main.js dataconnect.php bdconnect.php 问题是两个ajax调用是同时进行的,当dataconnect调用完成时,数据还不在服务器中 ajax调用是异步运行的,因此即使是dataconnect调用也会稍后在代码中写入bdconnect调用尚未完成。直到执行done回调 将dataconnect调用放在done回调中,您应该会看
bdconnect.php
问题是两个ajax调用是同时进行的,当dataconnect
调用完成时,数据还不在服务器中
ajax调用是异步运行的,因此即使是dataconnect
调用也会稍后在代码中写入bdconnect
调用尚未完成。直到执行done
回调
将dataconnect
调用放在done
回调中,您应该会看到数据在添加任何内容后更新
为了改进代码,您可以定义一个函数:
function refreshData() {
$.ajax({
url: 'dataconnect.php',
type: "POST",
success: function (data) {
$(".rows").html(data);
}
});
}
并使用$(refreshData)
每次调用它,而不是重复document.ready中的所有代码
整个javascript代码将是:
function refreshData() {
$.ajax({
url: 'dataconnect.php',
type: "POST",
success: function (data) {
$(".rows").html(data);
}
});
}
$(document).ready(function () {
$(refreshData);
$("button.btnSubmit").on("click", function () {
let textsval = $(".inputs_text").val();
let imgsval = $(".inputs_img").val();
$.ajax({
url: 'bdconnect.php',
type: "POST",
data: { textss: textsval, imgg: imgsval },
}).done(function () {
$(refreshData);
});
$(".inputs_text").val("");
$(".inputs_img").val("");
});
});
第一次单击后,数据进入数据库,但不会以html显示。第二次单击后,将显示。
<?php
$dbhost = "localhost";
$dbname = "databd";
$username = "root";
$userpass = "";
$charset = "utf8";
$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
$data = [
"textss" => trim($_POST["textss"]),
"imgg" => trim($_POST["imgg"]),
];
$db = new PDO("mysql:host=$dbhost;dbname = $dbname;charset=$charset", $username, $userpass, $options);
if (!empty(trim($_POST["textss"])) && !empty(trim($_POST["imgg"]))) {
$query = "INSERT INTO `databd`.`infos`(texts,img) VALUES (:textss, :imgg)";
$statement = $db->prepare($query);
$result = $statement->execute($data);
};
function refreshData() {
$.ajax({
url: 'dataconnect.php',
type: "POST",
success: function (data) {
$(".rows").html(data);
}
});
}
function refreshData() {
$.ajax({
url: 'dataconnect.php',
type: "POST",
success: function (data) {
$(".rows").html(data);
}
});
}
$(document).ready(function () {
$(refreshData);
$("button.btnSubmit").on("click", function () {
let textsval = $(".inputs_text").val();
let imgsval = $(".inputs_img").val();
$.ajax({
url: 'bdconnect.php',
type: "POST",
data: { textss: textsval, imgg: imgsval },
}).done(function () {
$(refreshData);
});
$(".inputs_text").val("");
$(".inputs_img").val("");
});
});