Ajax发布到php>用xmlhttprequest获取php变量

时间:2015-05-17 15:06:09

标签: javascript php ajax json xmlhttprequest

  

我想每隔几秒钟使用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);

1 个答案:

答案 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);
    }

为此。