2014-09-28 3 views
-1

На моей странице отображения у меня есть скрипт, который обновляет div с другой php-страницы.Общая функция для обновления DIV

Как переписать сценарий ниже: Быть функцией, которую я могу позвонить с помощью updateadiv(divid,content) на моей странице отображения (на php), где содержимое является переменной php. (скрипт не будет вызывать php-страницу, а принимает входную переменную).

<!DOCTYPE html> 
    <html> 
    <body> 



    function updatediv(divId, content) 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
    <script> 
    (function($) 
    { 
     $(document).ready(function() 
     { 
      $.ajaxSetup(
      { 
       cache: false, 
       beforeSend: function() { 
        $('#content').hide(); 
        $('#loading').show(); 
       }, 
       complete: function() { 
        $('#loading').hide(); 
        $('#content').show(); 
       }, 
       success: function() { 
        $('#loading').hide(); 
        $('#content').show(); 
       } 
      }); 
      var $container = $("#content"); 
      $container.load("http://192.168.1.90/json_output.php"); 
      var refreshId = setInterval(function() 
      { 
       $container.load('http://192.168.1.90/json_output.php'); 
      }, 9000); 
     }); 
    })(jQuery); 
    </script> 

    <?php 
    function createarray() { 
global $reindexed_devices_a ; 
$feed_url = "http://192.168.1.90/JSON?request=getstatus&ref=all&location1=all&location2=all"; 
//$feed_url = "demoxml.xml"; 

$json = file_get_contents($feed_url); 
$devices_a = json_decode($json, true); 

//echo $devices_a[Devices][2][name] ; 
//echo "<BR> ReIndexed:"; 

$reindexed_devices_a = array(Devices => array()); 
foreach ($devices_a[Devices] as $value) { 
    $reindexed_devices_a[Devices][$value[ref]] = $value; 
} 

//echo $reindexed_devices_a[Devices][59][name] ; 
//need to do some conditional formatting before updating to DIV's 
if ($reindexed_devices_a[Devices][59][name] == 'Coffee maker') { 
$reindexed_devices_a[Devices][59][name] = "overwritten"; 
} 
echo time(); 

//echo $reindexed_devices_a[Devices][59][name] ; 
} 

createarray(); 


$name59=$reindexed_devices_a[Devices][59][name]; 
//check if $name59 has changed - if yes update div 
updatediv('59'); 

    echo "This is a test <div id = 'name59'>.....</div>"; 
    ?> 



    </body> 
    </html> 
+0

нужно объяснить более подробно, так как PHP и Javascript работать в различных средах и там нет кода PHP показано здесь. Ваш вопрос в настоящее время очень трудно понять – charlietfl

+0

@charlietfl - спасибо, я обновил часть кода вопроса. В основном то, что я пытаюсь сделать, - это использовать php для разработки всего логического и условного форматирования и создания функций, которые загружают JSON, хранящую некоторые устройства и их состояния в php-массив, делают некоторые форматирования в php (например, значение для устройства x <20, затем сделайте синим шрифтом), а один для обновления соответствующего div – user1546642

+0

все еще не на 100% понят, какая конкретная проблема. Если возврат json 'load()' не поможет, поскольку он предназначен для html, нужно разобрать json на html после его получения. Также вопрос по-прежнему относится к 'php variable' без объяснения причин. – charlietfl

ответ

0
 
function updateadiv(DivID , Url){ 


    $('#loading').hide(); 
     $('#' + DivID).html(''); 

     $.ajax({ 
      url:url, 
      success:function(rData){ 
      $('#' + DivID).html(rData); 
     } 

     }); 
} 
Смежные вопросы