Я следующий контроллер в AngularJS:AngularJS - старое значение имущества отправлено на сервер
$scope.model = null;
$scope.load = function() {
$http.get(someUrl).success(function (data) {
$scope.model = data;
}
}
$scope.save = function() {
$http.post(url, $scope.model)
.success(function (data) {
// some handle
}).error(function() {
// some handle
});
}
Схема модели:
$scope.model.PayDate === "2015-04-29T22:00:00.000Z"
// deserialized from request, date is in ASP.NET format
Далее PayDate
опора крепится к некоторому контролю (через ng-model
), который устанавливает новую дату в javascript DateTime class. Таким образом, значение изменилось PayDate
перед отправкой на сервер выглядит следующим образом:
К сожалению, когда запрос отправляется на сервер, значение PayDate
старый один:
Зачем старое значение PayDate
отправлено вместо текущего, хранящегося в модели?
EDIT: Чтобы обойти эту проблему, чтобы преобразовать дату в строку JS перед отправкой:
$scope.model.PayDate = moment($scope.model.PayDate).format("YYYY-MM-DD");
$scope.save();
Затем новое значение отправить в запросе.
Конечно, я хотел бы исправить проблему, а не преобразовывать каждое поле даты в строку непосредственно перед отправкой.
Является ли управление созданием детской области? –
Как я могу это проверить? Я использую https://github.com/dalelotts/angular-bootstrap-datetimepicker в качестве выбора времени. –
Раньше у меня были проблемы из-за времени. Не уверен, что это аналогичная проблема. – ryanyuyu