在$ .ajax.done()中调用另一个ajax函数。退货是否为空?

时间:2019-08-29 21:29:57

标签: php jquery ajax

我想在第一个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}}是

这是怎么回事?

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 '];
}