Angularjs formdata与数组字段

时间:2016-07-30 12:04:54

标签: javascript angularjs node.js form-data

嗨我正在编辑我的所有数据都被编辑的数据,除了数组,对象..我以某种方式设法传递对象数据但是对于数组我在服务器(Nodejs)中得到逗号分隔值..请检查帮助< / p>

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);
                    }
                });

当我将此数据发布到服务器时,我得到的String包含每个用逗号分隔的数组值...就像这个“11,22,33”

服务器(节点)

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;
    }


});

1 个答案:

答案 0 :(得分:0)

为了将字符串转换为包含数据的数组,您可以执行以下操作:

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

在您的服务器上执行此代码后,arr将包含您最初发送的所有值。