Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从PHP文件中检索JSON,并在div中追加_Javascript_Php_Jquery_Html_Json - Fatal编程技术网

Javascript 从PHP文件中检索JSON,并在div中追加

Javascript 从PHP文件中检索JSON,并在div中追加,javascript,php,jquery,html,json,Javascript,Php,Jquery,Html,Json,我试图在我的网站内进行近实时的图形更新。要做到这一点,我尝试基本上每30秒重新加载一个php文件。我让PHP的数据动态地回显json代码,如下所示。文件中的Ad也是用来刷新文件以重新检查数据库的 {todayCalculateCR:5%}{TodayPC:0.20}{todayCTR:34%}{yesterdayCalculateCR:35%}{yesterdayEPC:0.03}{yesterdayCTR:24%}{monthCalculateCR:14%}{Monthhepc:0.07}{m

我试图在我的网站内进行近实时的图形更新。要做到这一点,我尝试基本上每30秒重新加载一个php文件。我让PHP的数据动态地回显json代码,如下所示。文件中的Ad也是用来刷新文件以重新检查数据库的

{todayCalculateCR:5%}{TodayPC:0.20}{todayCTR:34%}{yesterdayCalculateCR:35%}{yesterdayEPC:0.03}{yesterdayCTR:24%}{monthCalculateCR:14%}{Monthhepc:0.07}{monthCTR 24%}

基本上现在我希望在index.php页面上放置一些jquery代码来加载这个文件,解释json代码并将数据附加到正确的div中

例如: 0.03

我在jquery.com和stack overflow上寻找基本上获取上述json数据并将其追加的方法

$.get dashboard-stats.php,函数数据{ $body .append yesterdayEPC:+data.yesterdayEPC//John .append Time:+data.yesterdayEPC;//2pm },json

以下是PHP文件生成json的简介:

$month\u visions=mysql\u num\u rowsmysql\u querySELECT*FROMlocker\u reports其中uid='$user\u id'和month='$month\u date'; $month\u clicks=mysql\u num\u rowsmysql\u querySELECT*fromReports其中uid='$user\u id'和month='$month\u date',status='1'; $month\u leads=mysql\u num\u rowsmysql\u querySELECT*fromReports其中uid='$user\u id'和month='$month\u date',status='2'; 如果$month_leads==| |$month_点击== { echo json_encodearraymonthCalculateCR=>n/a; echo json_encodearraymonthEPC=>n/a; } 其他的 { $monthCalculateCR=数量\格式$month\点击次数/$month\潜在客户数。%; echo json_encodearraymonthCalculateCR=>。$monthCalculateCR。; $monthEPC=数量\格式$month\潜在客户/$month\点击次数,2。; echo json_encodearraymonthEPC=>。$monthEPC。; } 如果$month_访问== { echo json_encodearraymonthCTR=>n/a; } 其他的 { $monthCTR=数量\格式$month\点击次数/$month\访问次数,2*100%; echo json_encodearraymonthCTR=>。$monthCTR。; }

尝试使用setTimeout函数调用$.get jQuery方法调用响应JSON的php文件

reload();

function reload(){
    $.get( "yourFile.php", function( data ) {
      //update table based on data
      var jsonData = $.parseJSON(data);
      $('#myDiv').append('callback called').append(data);
    });
    setTimeout(reload, 30000);
}

我通过将json放在1个括号中基本上解决了我的问题

然后使用教程,我发现我可以做到以下几点

今天点击:


您应该仔细阅读socket.io,因为这会更恰当地解决您的问题。您是否尝试过任何代码?好的,但如何获取json URL我不知道如何从phpSuggestion获取json数据:将setTimeout更改为window.setTimeout,并将其放入回调函数中@约翰逊先生,您获取数据并使用json_encode返回数据。@DanFromGermany-为什么我应该使用window.setTimeout而不是setTimeout?如果我把setTimeout放在回调函数中,重新加载时间不是30秒,而是取决于php文件的响应时间,如果出现错误,页面将不再刷新。如果出现错误,我想您需要错误处理。setTimeout方法在window对象中。请参阅@MrJohnson-您必须创建一个新的php文件,从数据库中检索数据,并在使用json_encode编码后使用echo将其发送回
<script>

var JSONObject = {"todayEarnings":"2.60","todayVisits":"62","todayClicks":"26","todayLeads":"3","todayCalculateCR":"9%","todayEPC":"0.12","todayCTR":"42%","yesterdayEarnings":"0.40","yesterdayClicks":"35","yesterdayVisits":"148","yesterdayLeads":"1","yesterdayCalculateCR":"35%","yesterdayEPC":"0.03","yesterdayCTR":"24%","monthEarnings":"3.00","monthClicks":"65","monthVisits":"242","monthLeads":"4","monthCalculateCR":"16%","monthEPC":"0.06","monthCTR":"27%"}

document.getElementById("clicks").innerHTML=JSONObject.todayClicks;

</script>