Php Ajax调用的返回变量对于JS日期对象的类型无效
我正在尝试使用Ajax调用获取服务器日期和时间。我能够检索到所需的值,但当我尝试使用它创建javascript日期对象时,会出现无效的日期错误。我也尝试使用修剪来删除任何空格。有什么想法吗 Ajax调用:Php Ajax调用的返回变量对于JS日期对象的类型无效,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试使用Ajax调用获取服务器日期和时间。我能够检索到所需的值,但当我尝试使用它创建javascript日期对象时,会出现无效的日期错误。我也尝试使用修剪来删除任何空格。有什么想法吗 Ajax调用: // ajax call to getcurrent server time $.ajax({ type: GET', url: 'datetime.php', success: function(data) { console.log("Data: " +
// ajax call to getcurrent server time
$.ajax({
type: GET',
url: 'datetime.php',
success: function(data) {
console.log("Data: " + data);
currentdate = new Date($.trim(data));
console.log("Current date from server: " + currentdate);
},
});
PHP代码:
<?php
echo date('y,m,d,H,i,s');
?>
您试图将字符串当作文字代码来使用。有点像使用
eval
,但实际上不包括eval
是的,eval
是一种方法:currentdate=eval(“返回新日期(“+$.trim(data)+”)代码>
然而,eval
是邪恶的。相反,您应该:
var elems = $.trim(data).explode(",");
elems[1]--; // remember months are zero-based in JS
currentdate = new Date(elems[0],elems[1],elems[2],elems[3],elems[4],elems[5]);
不过,更好的方法是将PHP脚本设置为echo time()代码>,则您的JS可能是:
currentdate = new Date();
currentdate.setTime(data);
currentdate = new Date();
currentdate.setTime(data);