Почему мой $ http.patch перезаписывает все остальные мои данные - PullRequest
0 голосов
/ 23 апреля 2020

Я хочу иметь возможность обновлять только определенные атрибуты в объекте, не перезаписывая остальные атрибуты в объекте. Я использую $ http.patch, чтобы попытаться достичь этого.

Я использую serivce для вызова моего метода GET для получения моей информации из API

app.factory('botReports', function ($http, $rootScope) {
      return $http({
          method: 'GET', 
          url: 'http://someCompany.corp/bot/BotReports'
      }).then(function (user_data) {
        return user_data.data;
      }, function (error) {
        alert('Error: Please Connect to the Vodacom Network');
      });
});

// Это работает.

Далее я go перехожу на один из моих других контроллеров и отображаю данные в виде таблицы. Это работает. Вот проблема: Затем я пытаюсь обновить значение c в моем API, но затем он перезаписывает весь объект, а не просто изменяет один атрибут этого объекта. см. Здесь:

Следующий код все написан на одном и том же AngularJS Контроллере:

let nested = {
  "PSI_Reviewer":username
}

let update = {
  "processStep": JSON.stringify(nested)
}

Я должен был привести в порядок вложенную переменную, потому что она выдал JSON ошибок форматирования, если я не JSON .stringify их.

  $http({
      method: 'PATCH', 
      url: `http://someCompany.corp/bot/BotReports/11115`,
      data: JSON.stringify(update)})
  .then(function (response) {
      if (response.data)
          alert(`success! it was changed`);
  });

  console.log($scope.all[j].PSI_Reviewer);
  console.log($scope.reportId[j]);
}

OUTPUT

Отлично находит идентификатор выбранной строки, но затем это делает что-то странное. Это изменило мою JSON структуру с

{
  reportId: 11115
  data: {
        AveSpend: 1055
        CellNo: 98459849
        Channel: "VDLKO"
        City: "Milnerton"
        CreatedDate: 43922.2760069444
        DealID: "DV2AL943"   
        Login: "SADMIN"
        PSI_Reviewer: ""
    }
}

На ЭТО

{
    reportId: 11115
    data: {
        PSI_Reviewer: "tcoetzee"
    }
}

, пока я ожидал этого:

{
  reportId: 11115
  data: {
        AveSpend: 1055
        CellNo: 98459849
        Channel: "VDLKO"
        City: "Milnerton"
        CreatedDate: 43922.2760069444
        DealID: "DV2AL943"   
        Login: "SADMIN"
        PSI_Reviewer: "tcoetzee"
    }
}

ПОЖАЛУЙСТА HELP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...