2012-11-06 198 views
0

我一直在試圖解決這個問題很長一段時間。我知道JavaScript是客戶端腳本,PHP是服務器端腳本,但是可以將瀏覽器時代傳遞給PHP腳本來運行一些計算,然後根據結果返回geoJSON數據;全部是異步的?異步傳遞客戶端到服務器的值並返回到客戶端

我想傳遞給PHP腳本的功能是一樣的東西:

function retreiveUTC() { 
    var now = new Date().getTime(); 
    var browserUTC = Math.floor(now)/1000.0; // this returns epoch time of the browser 
} 

然後我想採取從功能產生了劃時代的時間,並把它傳遞給PHP腳本,以確定哪些JSON文件返回。

比如我會駐留在服務器上的以下文件:

 
1352188536.JSON 
1352187536.JSON 
1352177536.JSON 

我要檢索的一個最接近的瀏覽器的劃時代成果。先謝謝你。

更新下面的代碼:

不知道我做錯了,但我從Ajax調用成功獲得,但返回的值是不確定的。

AJAX的東西:

$.post ('timezone.php', 
    { 
     epochTime: browserUTC 
    }, 
    function (result) { 
     //do someting to result 
    }, "json"); 

    var browserUTC = new Date().getTime(); 

    $.post ('timezone.php', 
    { 
     epochTime: browserUTC 
    }, 
    function (result,status) { 
    //display file name returned by PHP 
     alert(result.file + "\n" + status); 
    //console.log('test'); 
    }); 

PHP:

<?php 
    $epochTime = round($_POST['epochTime']/1000); 
    $res= array(); 
    $res['file'] = $epochTime . '.JSON'; 
    return json_encode($res); 
    ?> 

回答

0

我猜你是問有關異步請求。您可以發送一個AJAX請求到您的PHP腳本並獲取相應的JSON數據並進行處理。你必須改變設計。

首先,當請求頁面時,發送正常的數據(JSON除外),並且一旦JavaScript文件加載到客戶端,您可以調用該函數,並且在函數結束時,只需使用AJAX請求將瀏覽器時間發送回另一個php腳本,該腳本將獲取相應的JSON文件並提供給客戶端。

使用jquery庫以更簡單的方式執行AJAX請求。

0

我相信這是通過標準的AJAX調用完成的。例如,如果你正在使用jQuery:

$.post ('pathToPHPScript.php', {epochTime: browserUTC}, function (result) { 
     //do someting to result 
    }, "json"); 

在PHP腳本可以檢索的出現時間像標準的POST變量的值:

$epochTime = $_POST['epochTime']; 
//do required calculations 

所以PHP有bult式json_encode功能,以幫助使JSON編碼的字符串不在數組中。如果你傳遞一個數組,然後你可以檢索的jQuery:以上

//PHP 
$res= array(); 
$res['file'] = $epochTime . '.JSON'; 
return json_encode($res); 

和jQuery的回調函數引用:

$.post ('pathToPHPScript.php', {epochTime: browserUTC}, function (result) { 
     //display file name returned by PHP 
     console.log(result.file); 
    }); 
+0

我能時代價值傳遞給PHP腳本並進行處理但'console.log(result.file);'顯示未定義。我錯過了嗎?看起來PHP腳本沒有返回值。謝謝。 –

+0

這是因爲需要將「json」參數添加到$ .post函數以進行正確的JSON處理。查看編輯後的代碼。 – akhilless

+0

這是假設將文件作爲JSON對象返回還是僅返回文件名? –

相關問題