我想每隔几秒钟使用javascript更新我的表格。
到目前为止,我向 update.php 发出了一个ajax发布请求,如果设置则触发。然后执行 mysql查询并将结果集放在 json变量中。
在此之后,我使用 XMLHttpRequest 。
问题是每个 XMLHttpRequest 示例都使用echo json。但 当我把我的回声json放在我的isset帖子中检查它不会返回任何东西 了。
我认为问题在于它不能回显?
这是我的代码:
PHP : 的 的
的if (isset($_POST["updateTable"])) {
$result = mysqli_query($con,"SELECT * FROM users");
$row = mysqli_fetch_row($result);
$rsArray[] = array();
while ($row) {
$rsArray[] = $row;
$row = mysqli_fetch_row($result);
}
echo json_encode($rsArray);
}
的 的 AJAX : 的 的
的var updateTable = "true";
setTimeout(function(){
$.ajax({
type: 'POST',
url: '../EXT_PHP/update.php',
data: { updateTable: updateTable }
});
console.log(updateTable);
}, 3000);
的
的XMLHttpRequest :
的
的setTimeout(function(){
var oReq = new XMLHttpRequest();
oReq.onload = function() {
alert(this.responseText);
};
oReq.open("get", "../EXT_PHP/update.php", true);
oReq.send();
}, 3000);
的
答案 0 :(得分:0)
您是否尝试将PHP脚本的标题设置为JSON?
header('Content-Type:application / json');
请注意,必须在程序的第一个输出之前设置标题(即第一个回声)
> out
[,1] [,2] [,3]
[1,] -1 1 1
[2,] -1 1 -1
[3,] 1 1 1
[4,] -1 1 -1
如果仍然有效,你应该检查json_encode函数中是否有任何错误,按时间编码存在一些问题。使用
<?php
header('Content-Type: application/json');
if (isset($_POST["updateTable"])) {
$result = mysqli_query($con,"SELECT * FROM users");
$row = mysqli_fetch_row($result);
$rsArray[] = array();
while ($row) {
$rsArray[] = $row;
$row = mysqli_fetch_row($result);
}
echo json_encode($rsArray);
}
为此。