我正在创建一个功能,检查信用卡到期,并显示一个警报。为此,我将其与我的新Date()进行了比较,然而,我意识到由于JS将在客户端运行,因此它将显示客户端机器日期。
我想从服务器端获得日期,然后在客户端用angular进行信用卡验证。我该怎么做呢?
发布于 2016-04-19 21:09:29
最简单的方法是使用https://docs.angularjs.org/api/ng/service/$http向后端发出AJAX请求。点击链接查看更多示例,或者只需使用以下链接:
$http.get('/someUrl').then(successCallback, errorCallback);
function successCallback(response) {
// server side date is returned here:
var serverAnswer = response.data;
...
}
function errorCallback(response) {
...
}请不要忘记设置返回数据所需的格式(参见链接页面的Setting HTTP Header章节)或使用
$http.get('/someUrl', config).then(...)用于调查$http工作。
同样,您也可以使用https://docs.angularjs.org/api/ngResource/service/$resource来实现同样的目的(它的用法比$http的用法更推荐,但由您决定)。
发布于 2016-04-19 20:16:16
我们在我之前的项目中遇到了同样的问题,我们做了一个简单的函数。它接受来自back-end - new Date()的字符串作为参数。
var convertToDateWithoutClientOffset = function(dateString) { return new Date(dateString.substr(0, 4), dateString.substr(5, 2) - 1, dateString.substr(8, 2), dateString.substr(11, 2), dateString.substr(14, 2), dateString.substr(17, 2)); };
它很难看,但却很管用。例如,我们有2016-04-18A11:00:00.000作为参数,函数将返回Mon Apr 18 2016 11:00:00 GMT+0300 (FLE Daylight Time),因为我在+3小时时区。
https://stackoverflow.com/questions/36717958
复制相似问题