Javascript PHP JQuery-加载多个DIV';她有一个请求

Javascript PHP JQuery-加载多个DIV';她有一个请求,javascript,php,jquery,Javascript,Php,Jquery,我的网站目前必须加载6个不同的PHP页面来填充7个DIV的信息 有些每5秒刷新一次,有些每秒刷新一次 我宁愿每秒加载一个PHP页面,并将细节拆分为所有DIV。这样,每秒只发送1个请求,而不是3或4个请求 因此-->api/getdata.php将回应:“5.93美元、10.36美元、27:31、1、22美元、乔”。然后JQuery将需要将每个逗号拆分为不同的DIV。类似如下: setInterval(function() {$('#balance, #pot, #timer, #round, #

我的网站目前必须加载6个不同的PHP页面来填充7个DIV的信息

有些每5秒刷新一次,有些每秒刷新一次

我宁愿每秒加载一个PHP页面,并将细节拆分为所有DIV。这样,每秒只发送1个请求,而不是3或4个请求

因此-->api/getdata.php将回应:“5.93美元、10.36美元、27:31、1、22美元、乔”。然后JQuery将需要将每个逗号拆分为不同的DIV。类似如下:

setInterval(function() {$('#balance, #pot, #timer, #round, #id, #username').load('api/getdata.php');}, 1000);
setInterval(function() {
    $.get( 'api/getdata.php', function( data ) {
        var result = data.split( ', ' );
        $( '#balance' ).text( result[ 0 ] );
        $( '#pot' ).text( result[ 1 ] );
        $( '#timer' ).text( result[ 2 ] );
        $( '#round' ).text( result[ 3 ] );
        $( '#id' ).text( result[ 4 ] );
        $( '#username' ).text( result[ 5 ] );
    } );
}, 1000);
我在谷歌上看了一下,但是找不到任何我想要的东西

我目前的方法(非常糟糕)是:


$(文档).ready(函数(){
$.ajaxSetup({cache:false});//此部分解决了IE错误。没有它,IE将只加载第一个数字,并且永远不会刷新
$('#GetBalance,#getbalancedraw').load('get/GetBalance.php');
$('#Clock').load('get/Clock.php');
$('#GetPot').load('get/GetPot.php');
setTimeout(函数(){$('#errmsg').fadeOut('slow');},5000);
setInterval(函数(){
$('#GetPot').load('get/GetPot.php');
$('#TotalBids').load('get/TotalBids.php');
}, 2500); 
setInterval(函数(){$('#GetBalance,#getbalancedraw').load('get/Balance.php');},5000);
setInterval(function(){$('#GetBalance').load('get/Balance.php');},5000);
setInterval(function(){$('#Clock').load('get/Clock.php');},1000);
});

因此您需要拆分响应,然后才分配给元素。此时,向所有元素添加相同的值

你需要这样的东西:

setInterval(function() {$('#balance, #pot, #timer, #round, #id, #username').load('api/getdata.php');}, 1000);
setInterval(function() {
    $.get( 'api/getdata.php', function( data ) {
        var result = data.split( ', ' );
        $( '#balance' ).text( result[ 0 ] );
        $( '#pot' ).text( result[ 1 ] );
        $( '#timer' ).text( result[ 2 ] );
        $( '#round' ).text( result[ 3 ] );
        $( '#id' ).text( result[ 4 ] );
        $( '#username' ).text( result[ 5 ] );
    } );
}, 1000);
但在这种情况下,如果后端响应速度变慢,您可以向服务器发送大量请求,因此最好在上一次加载后1秒使用递归函数调用新的AJAX:

function updateData() {
    $.get( 'api/getdata.php', function( data ) {
        var result = data.split( ', ' );
        $( '#balance' ).text( result[ 0 ] );
        $( '#pot' ).text( result[ 1 ] );
        $( '#timer' ).text( result[ 2 ] );
        $( '#round' ).text( result[ 3 ] );
        $( '#id' ).text( result[ 4 ] );
        $( '#username' ).text( result[ 5 ] );
        setTimeout( updateData, 1000);
    } );
}
updateData();

如果将所有字符串放在一个字符串中并用逗号分隔,则可以执行以下操作:

$( "#result" ).load( "ajax/test.html", function(data) {
  spread_the_news(data);
});
然后

function spread_the_news(data)
{
  var res = data.split(",");
  update_div_0_with_data(res[0]);
  update_div_1_with_data(res[1]);
  ...
}

谢谢这很简单。随着时间的推移,我的网站现在变得越来越慢。那太完美了。