在jQuery ajax调用之后将SQL数据恢复为JavaScript

我是ajax(通过jQuery)和JavaScript的新手。 我想要的是定期(和异步)执行一个PHP脚本来获取一些SQL数据。 但是我会在JavaScript图表中显示这些数据,所以我需要它来回到我的JavaScript中。

我在JavaScript中尝试了一个嵌入式PHP脚本,将SQL数据推送到一个数组中,然后简单地使用.ajax调用来获取页面本身,但这不起作用(即使我在页面源中看到JavaScript已被更改) ,图表没有响应变化):

ajax.php(不工作):

 $(function () { function fetchData() { $.ajax('ajax.php'); query($query); foreach ($result as $row) { print "d1.push([".$row['timestamp'].",".$row['unknown']."]);"; } } catch (Exception $e) { print 'Exception : '.$e->getMessage(); } ?> $.plot($("#placeholder"), [ d1]); setTimeout(fetchData, 5000); } setTimeout(fetchData, 500); }); 

建议的方法是什么?

我认为你正在混淆你的概念。 PHP仅在Web服务器上运行。 Javascript在客户端(即Web浏览器)上运行

如果您在ajax.php创建一个扩展名为.php的页面,它将从您的Web服务器提供一次,并且它包含的所有内容( 块中的a)将由服务器解析 – 它不是动态的。

结果页面包含来自php脚本的已解析值,但不包含脚本本身。

Javascript在用户计算机上运行,​​因此处理网页上的用户交互和事件。 当您需要从服务器获取数据时,可以使用Javascript调用服务器脚本(在本例中为php)。 这基本上就是AJAX的意义所在。 但通常javascript包含在以.js结尾的文件中,除非javascript实际包含在您的页面中,否则您的网络服务器不会对其进行解析,但这些日子并不是真的如何处理。

我不知道你要通过混合javascript与PHP做什么。 这不是AJAX。

我建议你使用像JSON这样的东西。 这个粗略的php脚本首先将你的结果编译成JSON,然后是javascript ajax调用。 您需要包含JQUERY库并将整个php脚本保存为名为getdata.php的单独文件。

 $Row["dbtablefield1"], 'jsobjectfield2'=>$Row["dbtablefield2"], 'jsobjectfield3'=>$Row["dbtablefield3"], 'jsobjectfield4'=>$Row["dbtablefield4"]); }; echo("{\"TableData\": ".json_encode($jsondata)."};"); ?> 

使用Javascript:

 $.ajax({ url: 'getdata.php', type: "POST", data: entereddata, dataType: "json", timeout: (7000), //wait 7 seconds error: function(data) { }, //end of ERROR handling success: function(data) { // you'll find the data returned here: data.jsobjectfield1 }; // end of SUCCESS handling }); // end AJAXcall 

我不认为你可以直接做到这一点….如果你想在PHP和JS之间来回传递数据你需要使用xml http请求..你可以找到一个非常好的教程,将在这里帮助你很多。 ….. http://www.tizag.com/ajaxTutorial/ajaxxmlhttprequest.php希望有帮助…当我开始时它确实帮助了我……我试图做同样的事情,你正在尝试做,然后我知道我试图混淆服务器和客户端脚本

你在这里做的是……

1将参数列表传递给php

2 php进行一些处理(在您的情况下是查询数据库)并回显所需的输出变量

3返回给JS

如果您正在寻找直接代码…那么你去……信誉去了我上面提到的网站,而不是我的代码…我真的建议你去那个网站…你会学到很多东西在短时间内….希望有所帮助

    
Name:
Time:

serverTime.php