我想在第一个ajax调用完成后执行ajax调用。
js:
function addMessage(message) {
var func = 'addMessage';
var args = [message];
var formData = {'action': func, 'args': args };
var ajaxRequest =
$.ajax({
type: 'post',
url: '../inc/ajax.php',
data: formData
});
ajaxRequest.done(function(data) {
getMessageNew(data);
})
}
function getMessageNew(insertid) {
var func = 'getMessageNew';
var args = [insertid];
var formData = {'action': func, 'args': args };
var ajaxRequest =
$.ajax({
type: 'post',
url: '../inc/ajax.php',
data: formData
});
ajaxRequest.done(function(data) {
console.log(data);
})
}
php函数addMessage
返回一个纯整数,它是MySql的最后一个插入ID。
php:
function addMessage($message) {
$sql = 'INSERT INTO tbl_message (message_body) VALUES (?)';
$args = array($message);
return pdoInsert($sql, $args);
}
function getMessageNew($insertid) {
$sql = 'SELECT message_body FROM tbl_message WHERE m.id = ?';
$args = array($insertid);
return pdoSelect($sql, $args); }
function pdoSelect($sql, $args) {
$pdo = dbConnect();
$stmt = $pdo->prepare($sql);
$stmt->execute($args);
$returnval = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $returnval;
}
function pdoInsert($sql, $args) {
$pdo = dbConnect();
$stmt = $pdo->prepare($sql);
$stmt->execute($args);
echo $pdo->lastInsertId();
}
我的问题出在我的 jQuery 中,来自data
的{{1}}是空。
这是怎么回事?
答案 0 :(得分:0)
您需要打印选择查询的结果
function getMessageNew($insertid) {
$sql = 'SELECT message_body FROM tbl_message WHERE m.id = ?';
$args = array($insertid);
// output the result
echo pdoSelect($sql, $args);
}
function pdoSelect($sql, $args) {
$pdo = dbConnect();
$stmt = $pdo->prepare($sql);
$stmt->execute($args);
$returnval = $stmt->fetchAll(PDO::FETCH_ASSOC);
// return the column value
return $returnval[0]['message_body '];
}