我有问题从ajax调用中获取一个返回数据值来做出决定。 这是我调用php文件的jquery代码。
var displayMsg = $.ajax({
url:"displayMessage.php"
});
displayMsg.done(function(data){
// I need to put an if condition in here.
})
这是我的" displayMessage.php"从会话中获取其值的文件
<?php
session_start();
include "classes.php";
$chat = new chat();
$chat->setSenderUserName($_SESSION['userName']);
$chat->setReceiverUserName($_SESSION['receiverUserName']);
$chat->displayMessage();
?>
此文件将调用主文件中的函数,这就是该函数
public function displayMessage(){
include "connection.php";
$displayMsg = $connection->prepare("select date, senderUserName, message from messages where (senderUserName = ?
and receiverUserName = ?) or (senderUserName = ? and receiverUserName = ?) order by date desc");
$displayMsg->bind_param("ssss", $senderUserName, $receiverUserName, $receiverUserName, $senderUserName);
$senderUserName=$this->getSenderUserName();
$receiverUserName=$this->getReceiverUserName();
$displayMsg->execute();
$displayMsg->store_result();
$displayMsg->bind_result($messageDate, $senderUserName, $message);
while($displayMsg->fetch()){
$this->setSenderUserName($senderUserName);
$this->setMessage($message);
$this->setMessageDate($messageDate);
?>
<span style="color:#00F"> <?php echo $this->getSenderUserName(); ?></span> says: <br />
<?php echo $this->getMessage(); ?>
<span class="date"><?php echo $this->getMessageDate(); ?></span><br />
<?php
}
}
现在我想访问messageDate值,将其与ajax调用成功部分(或完成部分)中的当前时间进行比较,但我不知道如何。 我在网站上尝试了一些与我的情况接近的解决方案,但它们都没有工作,我收到Undefined或object Object。 像:
$(data).find(".date").html();
$(data).find(".date").text();
$(data).find(".date").val();
$(date['date']);
答案 0 :(得分:0)
如果您确定displayMessage.php返回响应内容,请使用此代码而不是您的jquery代码:
var displayMsg = null;
$.ajax({
url:"displayMessage.php",
success:function(data){
displayMsg = data;
displayMsg.done(function(data){
// I need to put an if condition in here.
});
}
});
请务必检查成功函数内的条件,因为ajax可能需要很长时间才能响应,而jquery不会等待它并继续运行下一个命令。