2016-07-30 8 views
0

Hallo Ich bearbeite Daten, auf denen meine alle meine Daten bearbeitet außer Array, Objekt .. ich irgendwie geschafft, um Objektdaten übergeben, aber für Array bekomme ich komma-separierten Wert in Server (Nodejs) .. Bitte beachten Sie hierzu eine HilfeAngularjs Formdata mit Array-Feld

AngularJS

    angular.forEach(pushdata.product, function(value, key) { 

        if (key == 'img_path') { 
         // for (var i = 0; i < value.length; i++) { 
         fd.append('img_path', value); 
         //} 
        } else if (key == 'vehicle_details') { 
         angular.forEach(value, function(value, key) { 
          fd.append('vehicle_details.' + key, value); 
         }); 
        } else { 
         fd.append(key, value); 
        } 
       }); 

Wenn ich diese Daten am POSTen zum Server erhalten i String jeweils Werte von Array, das durch Komma separeted .. wie dieser "11,22,33"

Server (Knoten)

form.on('field', function(field, Fdata) { 
    if (field == 'img_path') { 
     console.log(Fdata); // logs "11,22,33" 
     for (var i = 0; i < Fdata.length; i++) { 
      img_attr['img_path'].push(Fdata[i]); 
     } 
    } else { 
     img_attr[field] = Fdata; 
    } 


}); 

Antwort

0

Um einen String in ein Array mit Daten zu konvertieren, können Sie folgendes tun:

var arr = Fdata.split(','); 
for (var i = 0; i < arr.length; i++) { 
    arr[i] = parseFloat(arr[i]); 
} 

Nach diesem Code auf dem Server ausgeführt wird, arr enthalten alle Werte, die Sie ursprünglich gesendet.