2012-06-18 7 views
-1

디렉토리 (아래)에서 최신 json 파일을 감시하는 PHP 스크립트가 있습니다. 그런 다음 자바 스크립트에서 해당 파일의 데이터를 구문 분석하고 표시합니다. 자바 스크립트는 매 x 분마다 데이터를 다시로드합니다. json 데이터를 포함하고 최신 데이터를 사용한다는 것만으로 파일 이름을 알 수 없습니다.JS var을 AJAX로 PHP var로 설정하십시오.

PHP 스크립트는 fileList [0] 배열에 저장된 최신 파일을 저장합니다. 나는 이것을 stackoverflow post을 확인하고 PHP 스크립트로 만들 수 있지만 페이지의 요소를 업데이트하는 것으로 전체 페이지를 새로 고치지 않고 javascript로 전달하려고합니다.

javascript 변수를 업데이트하는 방법이 있습니까? 파일 이름을 숨겨진 요소로 지정하고 데이터를 새로 고치기 전에 잡는 방법을 생각했지만 어색한 것으로 보입니다.

<?php 
date_default_timezone_set('America/New_York'); 

$files = glob('json/*.*', GLOB_BRACE); 
usort($files, 'filemtime_compare'); 

function filemtime_compare($a, $b) 
{ 
    return filemtime($b) - filemtime($a); // Order newest to oldest 
} 

$i = 0; 
$show = 1; // Number of new files to show. 
$fileList = array(); 

foreach($files as $file) 
{ 
    if($i == $show) break; else ++$i; 
    array_push($fileList, $file); 
} 

//echo $fileList[0] // DEBUG: Make sure I have the right file. 
?> 

AJAX :

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 
function loadXMLDoc() 
{ 
// This will send a request to a PHP page 
$.ajax({ 
var jsonURL = ""; 
    url: "phpDir.php", 
    dataType: "html", 
    success: function(data){ 
     // Place the returned data into your content 

    } 
    jsonURL = $fileList[0]; 

}); 
</script> 
</head> 
<body> 
+0

-1은 무엇입니까? 나는 그것을 다시하지 않기 위해 내가 두들겨 맞기 위해 한 것을 볼 수있는 방법이 있습니까? – rd42

답변

2

가 귀하의 질문에 대답하려면 "자바 스크립트 변수를 업데이트 할 수있는 방법이 있습니까?"

당신은이 작업을 수행 할 것입니다 :

내가 JSON으로 데이터 유형을 설정 한 통신의 편의를 위해
var jsonURL = ''; 

function loadXMLDoc() { 
    // This will send a request to a PHP page 
    $.ajax({ 
     url: "phpDir.php", 
     dataType: "JSON", 
     success: function(data){ 
      jsonURL = data.url; 
     } 
    }); 
} 

. 따라서 PHP 출력은 json_encoded()가되어야합니다 :

<?php 
    $output = array('url' => $fileList[0]); // or whatever URL you want to return 

    echo json_encode($output); 
?> 
관련 문제