2013-08-29 8 views
5

Jestem nowy w Angular. Jestem pewien, że brakuje tu kilku podstawowych rzeczy. Mam jeden obiekt, który publikuję na serwerze, aby go utworzyć. Identyfikator obiektu powrotu serwera; które muszę przeczytać i zaktualizować mój obiekt, który mam w kliencie. Serwer zwróci tylko identyfikator obiektu, ale po stronie klienta mam inne dane, ale nie jestem w stanie go użyć, gdy wykonuję wywołanie zwrotne, wtedy nie mam dostępu do oryginalnych danych. Po kodzie jsfiddle dla odniesienia.

JSFiddle Link:http://jsfiddle.net/QcDSk/3/

Odpowiedz

1

Poniżej przedstawiono podobne podejście do $ aktualizacji.

//keep original data to pass into callback 
var originalProjectObject = angular.copy(project); 
//Call server to update the project data 
project.$update({ projectid: project._id }, function (projectResponse) 
{ 
    originalProjectObject._id = projectResponse._id; 
    //update scope 
    scope.project = originalProjectObject;       
},originalProjectObject); 
6

Myślę, że chcesz coś takiego:

//Controller for testing 
app.controller('ApplicationController', function ($scope, Project) { 

     //Project object 
     var projectData = {"name":"New Project Test","thumbnail":"","statusid":"521d5b730f3c31e0c3b1e764","projecttypeid":"521f585c092a5b550202e536","teamid":"521f585a092a5b550202e521","authors":[{"firstname":"Dilip","lastname":"Kumar"}],"projectspecificmetadata":{"isbn13":"345345","guid":"asfas"},"modifiedby":"521f585a092a5b550202e525"}; 
     var project = new Project(projectData); 

     //Create new project 
     project.$save(project, function (projectResponse) { 
           projectData.projectId = projectResponse.id; 
           console.log("ProjectData: %j", projectData); 
          }); 

    }); 
+0

tak .. ale jak mogę odczytać część oryginalną obiektu wywołania zwrotnego? – joy

+0

Nie jestem pewien, czy całkowicie rozumiem. Oddzwanianie to drugi argument funkcji składowania. Wewnątrz tego wywołania zwrotnego masz dostęp do odpowiedzi serwera poprzez "projectResponse". – BoxerBucks

+0

Chcę uzyskać odpowiedź z serwera i zaktualizować mój obiekt, który wysłałem do serwera do przechowywania w bazie danych .... mam nadzieję, że wyjaśnił. – joy

Powiązane problemy