我正在尝试从PHP文件中获取一些数据,该文件仅在执行后给出一个数字:

<?php
    include '../assets/class/login/loginsys.php';
    $extension = new extension;
    $count = $extension->userCount();
    echo $count;
?>


因此,$count变量将只是一个数字。而且我正在尝试检索该数字并将其放入js变量中以供进一步使用(如果只是一次,我需要使用$.get()并将其应用于我需要的容器,则需要几次):

var oXHR = new XMLHttpRequest();
oXHR.open("GET", "admin/user-count.php", true);
oXHR.onreadystatechange = function (oEvent) {
    if (oXHR.readyState === 4) {
        if (oXHR.status === 200) {
            console.log(oXHR.responseText)
        } else {
        console.log("Error", oXHR.statusText);
        }
    }
};
oXHR.send();


我尝试了上述方法,但收效甚微,但我也尝试过这样的方法:

var users = $.get('admin/user-count.php', function(data) {
    console.log('There are '+data+' users found');
    return data;
});


结果相同,一无所获。那么我在做错什么或应该怎么做呢?

编辑我犯了一个我现在修复的小错误,第一种方法和第二种方法一样有效。但是现在我需要将第一种方法获得的数据存储到变量中,以便以后使用。我该怎么办?这两种方法中哪种更好?

最佳答案

如果您已经包含jQuery,我将使用第二个代码:

$.get('admin/user-count.php', function(data)
{
  // Don't use "var" here, otherwise the variable won't be global!
  myGlobalVar = parseInt(data, 10);
  // Also possible: window["myGlobalVar"] = parseInt(data, 10);
});


如果要使用纯JavaScript:

var oXHR = new XMLHttpRequest();
oXHR.open("GET", "admin/user-count.php", true);
oXHR.onload = function(evt)
{
  myGlobalVar = parseInt(oXHR.responseText,10);
}
oXHR.onerror = function(evt)
{
  alert("Error!");
}
oXHR.send();

07-25 22:02
查看更多