Hejka.
Próbuję połączyć jakoś dane z mojego własnego obiektu pobranego z serwera, wysłać go na formę, potem przetworzyć i zwrócić do obiektu i wysłać na serwer. Używam do tego AngularJS, jestem z tym nowy i nie wiem o wszystkich jego możliwościach.
W zasadzie droga jest taka:
- Pobieram z serwera MyObiect (muszę gdzieś go przechować, aby po wyjściu z funkcji mi nie wyparował, może jakaś funkcjonalność z Angulara ?)
- Teraz MyObiect idzie do formy, która też jest zbudowana na serwerze i wysłana do klienta.
- Użytkownik formę wypełnia i chce wysłać - tutaj walidacja itp., potem dane z formy lecą w swoje miejsce do obiektu.
- Obiekt po walidacji leci na serwer a tam zapisany i koniec.
Udało mi się za pomocą usługi i kontrolera zbudować jakoś komunikację, aby obiekt był przekazywany z innej funkcji. Jak teraz zrobić, aby $scope z kontrolera wylądowało w obiekcie, którego chcę wysłać na serwer ?
Wygląda to tak:
angular.module("myapp", [])
.service('FillMe2', function() {
return {
Obj:function(){
},
setObj:function (Data){
setObj2(Data);
},
getObj : function() {
return FillMe();
}
};
})
.controller("MyController",
["$scope", "FillMe2", function ($scope, FillMe2) {
$scope.myobj = FillMe2.getObj();
}]
);
function FillMe()
{
var myobj = {};
myobj.Imie = "lol";
myobj.Naz = "fff";
myobj.Test = {};
myobj.Test.wart = "gre";
return (myobj);
}
function setObj2(Obj) //Obj to zawartość $scope z kontrolera
{
var obj = Obj;
obj; //Tutaj mój obiekt ma już dane z formy - gotowy do wysłania
}
Albo w jaki inny, szybszy sposób obsługiwać taką formę ? Do serwera muszę wysłać dane metodą PUT, HTML5 pozwala tylko na GET i POST. A AngularJS ? Nie chcę pisać nadmiernego kodu, ale wykorzystać jak najoptymalniej Angulara, więc coś mi tu brakuje, ale nie wiem jeszcze czego :(