2016-05-24 10 views
-1

Ich benutze AngularJS entlang und Angular-Summernote als Editor. Mein HTML:FormData Objekt ist leer, wenn geloggt oder alarmiert

{{msg}} 

<form id="sampleForm" ng-submit="sendFormData()" enctype="multipart/form-data"> 
    <label>Text:</label> 
    <summernote height="300" ng-model="summerNoteText" on-image-upload="imageUpload(files)"></summernote><br><br> 


    <label>Text box:</label> 
    <input type="text" name="normaltext"> 
    <input type="hidden" name="summernotetext" value="{{summerNoteText}}"> 


    <button type="submit"> 
     Submit 
    </button> 

</form> 

mein Controller für diese Seite:

'use strict'; 

angular.module('postTestbench') 

    .controller('MainFormController', ['$scope', function($scope) { 
     $scope.msg = "submit nigga"; 

     $scope.imageUpload = function (files) { 
      var data = new FormData($('form')[0]); 
      data.append('file', files[0]); 

      console.log(data); 
     }; 
    }]); 

Können Sie mir irgendein Problem hier sagen? Ich habe Dokumente von jquery und Entwickler mozilla durchsucht, sie schlagen den gleichen Code vor.

Ich möchte nur ein Bild von Summernote hochladen und möchte die Image-URL vom Server, , aber die FormData-Objektdaten werden leer angezeigt.

aktualisieren

die Config-Datei, wo ich den Regler auf dieser Seite bin Zuordnung:

'use strict'; 

angular.module('postTestbench', ['ngRoute', 'summernote']) 

    .config(function($routeProvider) { 
     $routeProvider 

     .when('/', { 
      templateUrl: 'pages/sampleForm.html', 
      controller: 'MainFormController' 
     }) 

     .otherwise({ 
      redirectTo: '/' 
     }) 
    }) 

; 
+0

Wo Sie Ihre App Bootstrapping? Wo weisen Sie diesen Controller der Vorlage zu? –

+0

Versuchen Sie, Ihrem Formular einen "Namen" und nicht nur eine "ID" zu geben. – rrd

+0

Ich habe die Frage aktualisiert ....... und den js-Dateicode zur Verfügung gestellt, wo ich den Controller @TJ –

Antwort

0

Ihr Vielleicht data nicht leer ist, ist es nur richtig von formData.entries inspizieren.

FormData Docs:

Die FormData.entries() Methode gibt einen Iterator ermöglicht durch alle Schlüssel/Wert-Paare in diesem Objekt enthalten sind, zu gehen. Der Schlüssel jedes Paares ist ein USVString-Objekt; der Wert entweder ein USVString oder ein Blob.

Hier ist, wie Formulardaten überprüfen:

var data = new FormData($('form')[0]); 
data.append('file', files[0]); 

for (var [key, value] of data.entries()) { 
    console.log(key, value); 
} 
+0

Vielleicht * gebe. Weil weniger als 6 Zeichen vorgeschlagen werden, sind sie nicht erlaubt. : D –

+0

Korrigiert, thx, @SajibAcharya, :) –

+0

ja, ich habe es versucht .... es ist onle zeigt: ne ... und nichts .... bitte helfen .... @YinGang –

Verwandte Themen