将数据从php检索到jQuery

时间:2014-09-16 20:20:29

标签: php jquery ajax json

我想从php文件(通过ajax或json)获得一个简单的数据(实际上是一个数字)到jQuery中的一个虚拟数据。

我尝试了很多Ajax和jSon方法......没有成功。

我明白了:

while (data.length < totalPoints)
{
    var prev = data.length > 0 ? data[data.length - 1] : 60;
    var y = prev + Math.random() * 10 - 5;
    if (y < 0)
        y = 0;
    if (y > 60)
        y = 60;
    data.push(y);
}

我想替换&#34; Math.random()* 10 - 5&#34;在一个php文件中有一个数字,其中有一个简单的数字来自MySql。

这个循环第一次进行60次,每15秒进行一次。

这不起作用。 php文件是调用并返回数字,但是&#39; fromPhp&#39;是空的。

var data = [],totalPoints = 60;

function getRandomData() {
    if (data.length > 0)
        data = data.slice(1);

    var fromPhp = '';
    var y;
    while (data.length < totalPoints) {
        var prev = data.length > 0 ? data[data.length - 1] : 60;
        $.get('assets/get_number.php', function (theNumber) {
            fromPhp = theNumber;
        });
        y = prev + fromPhp;
        if (y < 0)
        y = 0;
        if (y > 60)
        y = 60;
        data.push(y);
    }

    var res = [];
    for (var i = 0; i < data.length; ++i)
    res.push([i, data[i]])
    return res;

}

实际上所有数字(y)都是&#39; 60&#39;

1 个答案:

答案 0 :(得分:1)

尝试此代码并检查控制台。它会让你理解为什么代码不起作用:

function getRandomData() {
if (data.length > 0)
    data = data.slice(1);

var fromPhp = '';
var y;
while (data.length < totalPoints) {
    var prev = data.length > 0 ? data[data.length - 1] : 60;
    $.get('assets/get_number.php', function (theNumber) {
        fromPhp = theNumber;
        console.log("Number loaded from php");
    });
    y = prev + fromPhp;
    console.log("Number added to the Y");
    if (y < 0)
    y = 0;
    if (y > 60)
    y = 60;
    data.push(y);
}

var res = [];
for (var i = 0; i < data.length; ++i)
res.push([i, data[i]])
return res;
}

我相信这个答案可以启发你如何从php获取数据到javascript:How to pass variables and data from PHP to JavaScript? 我不知道你想要实现什么目标,但我建议使用已接受答案的第二或第三选项(直接将数据回显给JavaScript)