找到问题和解决方案!
感谢您抽出宝贵时间查看此问题,在您回复后,我决定将整个项目简化为可以重现问题并寻找任何干扰的基础。
这是一个较旧的项目,我在其中实施了 Breeze。该项目使用标准 jquery post/get 方法从 MVC 获取数据,并且由于在从 MVC 发布和接收 json 数据时日期和时间一直是个问题,所以我在启动脚本中有以下代码:
// Add datafilter to jQuery ajax calls to translate dates
$.ajaxSettings.dataFilter = function (data, type) {
//if (type === 'json') {
// convert things that look like Dates into a UTC Date string and completely replace them.
data = data.replace(/(.*?")(\\\/Date\([0-9\-]+\)\\\/)(")/g,
function (fullMatch, $1, $2, $3) {
try {
return $1 + new Date(parseInt($2.substr(7))) + $3;
}
catch (e) { }
// something miserable happened, just return the original string
return $1 + $2 + $3;
});
//}
return data;
};
删除此代码后(因为微风确实日期正确),一切正常。这种类型的代码在其他必须正确处理日期的旧项目中可能很常见,我知道我从WiredPrairie得到了上面的代码片段,我相信其他人也会遇到这个问题。