从JavaScript函数获取NaN尝试多次获取相同数据
我想在这里解析两个日期。但是如果我尝试两次获得该值,从JavaScript函数获取NaN尝试多次获取相同数据,javascript,datetime,jtable,Javascript,Datetime,Jtable,我想在这里解析两个日期。但是如果我尝试两次获得该值,last\u payment\u date会给我NaN 当我多次尝试编辑我的JTable列表时,为什么它会给我NaN 上次付款日期的类型为数组。您需要首先为其编制索引: updateAction: function(postData) { console.log("updating from custom function..."); return $.Deferred(function($dfd) { $.aj
last\u payment\u date
会给我NaN
当我多次尝试编辑我的
JTable
列表时,为什么它会给我NaN
上次付款日期
的类型为数组
。您需要首先为其编制索引:
updateAction: function(postData) {
console.log("updating from custom function...");
return $.Deferred(function($dfd) {
$.ajax({
url: 'HallManagementServlet?action=UpdateStudent',
type: 'POST',
dataType: 'json',
data: postData,
success: function(data) {
$.each(data, function(entryindex, entry) {
payment_date.push(entry['payment_expires_on']);
});
var current_date = new Date();
var current_date_in_millis = current_date.getMilliseconds();
var last_payment_date = payment_date;
alert(Date.parse(last_payment_date)+"Second 1"+Date.parse(current_date));
$dfd.resolve(data);
},
error: function() {
$dfd.reject();
}
});
});
}
罪魁祸首似乎是
payment\u date
和date.parse()
Date.parse()
可以处理长度为1的数组
Date.parse(last_payment_date[0])
为什么当我尝试多次编辑我的JTable列表时,它会给我NaN
第一次更新表时,payment\u date
可能只有一个条目,第二次可能有两个或多个条目
Date.parse(['01-01-2015']) // 1420088400000
试试这个:
Date.parse(['01-01-2015', '03-03-2015']) // NaN
您可以对
payment\u date
数组进行排序,并始终为last\u payment\u date
使用最大时间戳。大概最后一个付款日期是按时间顺序排列的最后一个,但我不确定这是不是真的。这对我不起作用。但我在success中声明了last_payment_date变量。因此,每次该方法运行时,最后一个付款日期都将用新值更新。@TanziraNajninTonu,我很高兴您现在可以使用它。
var data = ['10-03-2015', '01-01-2015', '03-03-2015'];
$.each(data, function(entryindex, entry) {
payment_date.push(Date.parse(entry['payment_expires_on']));
});
// ...
// Presumably the last payment date is chronologically the last one,
// but I am not sure if that is true or not.
payment_date.sort();
var last_payment_date = payment_date[payment_date.length - 1];
// last_payment_date is a now a timestamp, don't use Date.parse() on it.
// ...