Web API 백엔드를 사용하는 angularJS 사이트가 있습니다. 내가 저장하려고 노력하고 내가 여기AngularJS save()가 웹 API에서 잘못된 응답을 반환합니다.
public enum ResultType
{
Success,
InvalidAccountNumber,
InvalidAddress,
NotFound,
Incomplete,
Error,
Unauthorized
}
아래에 정의 된 resulttype 열거를 다시 얻을 것으로 예상하고하는 것은 내 자원을 설정하는 데 사용되는 코드입니다.
app.factory('NotificationOptInApi', function ($resource) {
return $resource(API_SOURCE + 'NotificationOptIn', {}, {
'save': { method: 'POST', isArray: true }
});
});
여기 여기$scope.saveNotifications = function() {
var result = NotificationOptInApi.save($scope.notifications, function() {
// check for failure
if (result !== 'Success') {
$scope.saveError = result;
return;
}
});
};
내가 여기
{0: "S", 1: "u", 2: "c", 3: "c", 4: "e", 5: "s", 6: "s", $get: function, $save: function, $query: function, $remove: function, $delete: function}
을 반환받을를 반환하는 코드가 무엇을 저장하는 내 전화입니다. 제발 내가 reusltType 대신 목록을 반환하려고하는 동안
public List<ResultType> Post([FromBody]dynamic notificationSubscriptionHolder)
{
List<NotificationSubscriptionData> notificationSubscriptions = notificationSubscriptionHolder.ToObject<List<NotificationSubscriptionData>>();
Logger.Info("Update Account Notifications", string.Format("<updateAccountNotificationsToUser><NotificationSubscriptionData>{0}</NotificationSubscriptionData><user>{1}</user></updateAccountNotificationsToUser>", notificationSubscriptions, this.CurrentIdentity.Name));
try
{
return _accountManager.UpdateAccountNotifications(this.CurrentIdentity.Name, notificationSubscriptions);
}
catch(Exception ex)
{
return new List<ResultType>() { ResultType.Error };
}
}
이것은 다른 곳에서 문제없이 작동했습니다. 나는 결과를 확인할 수 있고 그것은 성공 일 것이다. 여기에서 볼 수있는 차이점은 IsArray를 true로 설정해야하므로 배열을 저장한다는 것입니다. 현재 저장중인 배열에 1 개의 항목이 있습니다. 내가 얻는 응답은 일련의 문자입니다. 그들은 "성공"을 철자합니다.
배열을 저장하더라도 배열로 내 응답을 다시받지 못하게 할 방법이 있습니까? 배열을 반환해야한다고 생각한 목록을 반환하려고했습니다. 이 작업을 수행하면 배열에 1 개의 항목이 있지만 그 1 개의 항목에는 성공한 문자 배열이 있습니다. 각 항목은 응답 수신을 통해 진정한 ngResource 모듈의 반복은
배열이되고 그들이 각 사용하고 이것을 Resource.For의 새로운 인스턴스를 생성합니다
각도 코드 –
을 표시 할 수 있습니까? 각도 문서의 IsArray는 반환 된 개체가 배열인지 여부를 나타내는 것으로 가정하고 ResultType 만 반환하지만 IsArrya를 false로 설정하면 푸시 오류가 발생합니다. 사실로 설정하면 성공적으로 저장할 수 있지만 Array를 다시 가져옵니다. –