Anfordern von Beispiel für angular.js $ http (oder $ resource) POST und transformRequest als Dienst

8

Verwenden von eckigen 1.1.5 und müssen urlencoded Daten an das Back-End übergeben. Ich habe das mit der Lösung von hier aus arbeiten lassen: Wie kann ich Daten als Formulardaten anstelle einer Anforderungsnutzlast posten?

%Vor%

Ich habe dies mit Erfolg in meinen Controller eingebettet, aber der "sauberere" Weg besteht darin, einen Service und $ Ressource anstelle des $ http-Objekts zu verwenden. Es ist möglich, transformRequest mit $ resource nach 1.1.2 aus diesem Thema zu verwenden: $ resource transformResponse funktioniert nicht aber ich kann keine Arbeitsbeispiele finden. Kann jemand ein Beispiel für die obige Lösung als Service-Objekt mit $ Ressource bereitstellen?

    
user2525528 26.06.2013, 19:23
quelle

1 Antwort

14

$ RESSOURCE BEISPIEL

Für csrf müssen Sie in einer Rails-App <%= csrf_meta_tags %> in Ihrem Header-Layout hinzufügen (falls nicht dort standardmäßig)

%Vor%

Hier ist ein Serviceobjekt

%Vor%

Hier ist ein Beispiel für einen Controller

%Vor%

Folders.list() wird GET /folders/ automatisch auf dem Server ausführen und das Ergebnis (das json sein sollte) als Objekt zurückgeben.

Tipp:

Direkt nach $scope.folders = Folders.list(); im Controller ist $scope.folders leer und wird rechtzeitig ausgefüllt, wenn die Antwort vom Server zurückkommt.

Einfache Beispiele mit $ http und $ ressources Ссылка

ÜBER DIE FORM

Hier ist ein Formular

%Vor%

Sie werden ng-model bemerken. 'ng-model'=>'item.folderName' erstellt ein $scope.item in projectController und fügt einen Schlüssel folderName hinzu. Gleiches gilt für die anderen ng-model s.

'ng-init'=>'item.orientation=1;' wird den Ausdruck ausführen. Also wird es die folgende item.orientation=1 machen, so legen wir einen Standardwert für unsere Radio-Eingänge fest, so einfach.

Wenn das Formular gesendet wird ng-submit fängt es ab und ruft die Aktion create vom Parameter projectController mit item as auf, muss man nicht sagen, dass item die Eingabewerte enthält?

Hier ist der Controller-Teil

%Vor%

$scope.create ist die Aktion, die von ng-submit aufgerufen wird, item ist auch der item -Parameter aus dem Formular, also finden Sie darin Sachen wie item.description .

Folders ist das Serviceobjekt, über das wir schon früher gesprochen haben.

    
Micka 26.07.2013 15:16
quelle