2012-11-06 199 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对象返回还是仅返回文件名? –

相关问题