获取时间 Javascript
Get the time in Javascript
我想获取Javascript/Jquery的当前时间。
我可以只使用 Math.floor($.now() / 1000)
,但这将 return 来自浏览器的时间可能是准确的,但可能在错误的时区。我在我的服务器上设置了文件 time.php,访问时 returns 是正确时区的当前 unix 时间戳。现在我需要做的就是将其放入 Javascript。我考虑过使用这样的 jquery 函数:
function time(){
$.ajax({url: "time.php", success: function(result){
return(result);
}});
}
alert(time());
但这似乎不起作用,因为函数返回时未定义。有没有解决方案可以让我调用 alert(time());
?
这是一个异步调用:
$.ajax({url: "time.php", success: function(result){
这意味着在您的 return 实际上 return 发送您的数据之前调用警报。因此,当警报为 运行 时,没有 return 值,这解释了 'undefined'。
我建议您阅读 this post 上的最佳答案,而不是详细解释它,它很好地解释了您遇到的问题,可能比我所能收集的要好。
AJAX 调用本质上是异步的。您需要将逻辑放在回调中。有很多方法可以处理。
在成功回调中放置逻辑
function time(){
$.ajax({url: "time.php", success: function(result){
// Place your business logic here
}});
}
time();
传递回调
function time(callback){
$.ajax({url: "time.php", success: function(result){
callback(result);
}});
}
time(function (result) {
// Place your business logic here
});
您甚至可以通过
对其进行优化
function time(successCB){
$.ajax({url: "time.php", success: successCB});
}
time(function (result) {
// Place your business logic here
});
使用承诺
Promises 是实验性技术,是 ES6 的一部分。
function time(){
var promise = new Promise(function (resolve, reject) {
$.ajax({url: "time.php", success: function(result){
resolve(result);
}});
});
return promise;
}
time().then(function (result) {
// Place your business logic here
});
我想获取Javascript/Jquery的当前时间。
我可以只使用 Math.floor($.now() / 1000)
,但这将 return 来自浏览器的时间可能是准确的,但可能在错误的时区。我在我的服务器上设置了文件 time.php,访问时 returns 是正确时区的当前 unix 时间戳。现在我需要做的就是将其放入 Javascript。我考虑过使用这样的 jquery 函数:
function time(){
$.ajax({url: "time.php", success: function(result){
return(result);
}});
}
alert(time());
但这似乎不起作用,因为函数返回时未定义。有没有解决方案可以让我调用 alert(time());
?
这是一个异步调用:
$.ajax({url: "time.php", success: function(result){
这意味着在您的 return 实际上 return 发送您的数据之前调用警报。因此,当警报为 运行 时,没有 return 值,这解释了 'undefined'。
我建议您阅读 this post 上的最佳答案,而不是详细解释它,它很好地解释了您遇到的问题,可能比我所能收集的要好。
AJAX 调用本质上是异步的。您需要将逻辑放在回调中。有很多方法可以处理。
在成功回调中放置逻辑
function time(){
$.ajax({url: "time.php", success: function(result){
// Place your business logic here
}});
}
time();
传递回调
function time(callback){
$.ajax({url: "time.php", success: function(result){
callback(result);
}});
}
time(function (result) {
// Place your business logic here
});
您甚至可以通过
对其进行优化function time(successCB){
$.ajax({url: "time.php", success: successCB});
}
time(function (result) {
// Place your business logic here
});
使用承诺
Promises 是实验性技术,是 ES6 的一部分。
function time(){
var promise = new Promise(function (resolve, reject) {
$.ajax({url: "time.php", success: function(result){
resolve(result);
}});
});
return promise;
}
time().then(function (result) {
// Place your business logic here
});