Тема: Angular / C#, JSON об'єкт вставляється в не правильне місце
Є деяка форма, яка заповнюється користувачем, потім за допомогою технології AJAX передає JSON дані до сервера
Так як використовується плагін Angular - значення отримуються за допомогою Angular з форми (<input...>)
Перед відправкою до сервера об'єкт збирається так:
...
for (var name in $scope.RequestDict) {
if($scope.PaymentBilder.CellSelected.NotSendObject.indexOf(name) != -1)
continue;
ObjectSendCreate[name] = angular.copy($scope.RequestDict[name]);
}
var dataSend = "{'requestStr':'" + this.MaskApostrophe(angular.toJson({ MethodName: methodName, RequestDict: ObjectSendCreate }, true)) + "'}";
...
DefaultRequestDict - містить всі значення з форми
$scope.RequestDict = angular.copy($scope.RefreshOrCompleted.DefaultRequestDict);
Парситься об'єкт так (С# asp.net):
JsonSerializerSettings settings = new JsonSerializerSettings { DateTimeZoneHandling = DateTimeZoneHandling.Unspecified };
request = JsonConvert.DeserializeObject<PaymRequest>(requestStr, settings);
Отримую лог:
Logger.AddMessage("RequestDict: " + request.RequestDict);
Інколи з'являється баг - об'єкт Payer встановлюється на місце об'єкта Counter:
***
Payer: {
SenderId: 6688584808,
District: {
Id: null,
Value: null
},
City: {
Id: null,
Value: null
}
},
Counter: {
SenderId: 6688584808,
District: {
Id: null,
Value: null
},
City: {
Id: null,
Value: null
}
}
***
А має бути:
***
Counter: {
Code: '',
PreviousData: '',
CurrentData: ''
}
***
Це рідкий баг, сам я його ніяк не можу отримати (я його бачу в логах, але не розумію чому він виникає). Не маю поняття чому він виникає. Як відловити такий баг ?