我在使用ajax url传递参数时遇到问题.我认为错误在参数代码语法中.Plz帮助.
var timestamp = null;
function waitformsg(id,name) {
$.ajax({
type:"Post",
url:"getdata.php?timestamp="+timestamp+"uid="+id+"uname="+name,
async:true,
cache:false,
success:function(data) {
});
}
Run Code Online (Sandbox Code Playgroud)
我按如下方式访问这些参数
<?php
$uid =$_GET['uid'];
?>
Run Code Online (Sandbox Code Playgroud) 经过一周的谷歌搜索和搜索.我很难找到一个关于数据库表长轮询的单一教程,而不是名为data.text的平面文本文件.目前,我手动编写data.text中的任何内容,它立即出现在浏览器中.
这是一个问题:使用数据库进行长轮询?即使在StackOverflow中也没有正确回答.(我在这里找到了很多,但徒劳无功.).这里的例子也是 MySQL的filemtime替代品
如何修改getdata.php使其能够从数据库中获取数据?
$sql=mysqli_query($database,"SELECT * FROM messages where time>=$curr_date ORDER by time DESC");
while($row=mysqli_fetch_array($sql)){
$messages=$row['messages'];
$id=$row['id'];
echo $messages;
}
Run Code Online (Sandbox Code Playgroud)
消息表如下
id fro to mesg time status last_modified
Run Code Online (Sandbox Code Playgroud)
我在这里列举一个例子.在此示例中,正在使用三个文件.
是否需要制作第四个文件来从数据库(mysql)获取数据?如果没有,那么在getdata.php或data.text中需要进行哪些类型的更改才能使用数据库中的动态数据?
这是我的Javascript
<script type="text/javascript" charset="utf-8">
var timestamp = null;
function waitformsg() {
$.ajax({
type:"Post",
url:"getdata.php?timestamp="+timestamp,
async:true,
cache:false,
success:function(data) {
var json = eval('(' + data + ')');
if(json['msg'] != "") {
$("#messages").append(json['msg']);
}
timestamp = json["timestamp"];
setTimeout("waitformsg()", 1000);
},
error:function(XMLhttprequest, textstatus, errorthrown) {
alert("error:" + textstatus …Run Code Online (Sandbox Code Playgroud)