我使用以下ajax代码发送隐藏输入的已发布数据
$(document).ready(function(){
var did=$('#did_hidden').val();
$.ajax({
type: 'POST',
url: 'php/classes/Chat.class.php',
data: {
'did': did
},
success: function(msg){
}
});
})
然后,我创建了一个变量来捕获来自ajax请求(外部类)的已发布数据
$didx=htmlspecialchars(trim($_POST['did']));
直到这里,我都通过调试器测试了代码并打印了数据,看起来不错。
问题,当我尝试在类方法中使用上一个变量时,它没有任何输出。
class Chat {
public $inside_did;
public static function getChats($lastID){
$lastID = (int)$lastID;
global $didx;
$result = DB::query("SELECT * FROM webchat_lines WHERE id > '".$lastID."' and deal_did='".$didx."' ORDER BY id ASC");
$chats = array();
while($chat = $result->fetch_assoc()){
// Returning the GMT (UTC) time of the chat creation:
$chat->time = array(
'hours' => gmdate('H',strtotime($chat->ts)),
'minutes' => gmdate('i',strtotime($chat->ts))
);
$chat->gravatar = Chat::gravatarFromHash($chat->gravatar);
$chats[] = $chat;
}
return array('chats' => $chats);
}
}
在调试器中,包含$didx
的DB :: query不返回任何内容(空)。
为什么?以及如何解决此问题以在类方法中接收$didx
值?
note:我虽然使用类属性(变量)而不是全局变量进行了测试,但也没有进行任何测试。