我在node.js和Angular.js中使用ActionHero。Actionhero如何在沒有定義輸入的情況下接收參數?
我想圖像發送到ActionHero使用$ http方法。 但我不知道有多少圖像。 所以我無法在ActionHero中定義參數名稱。
以下是我的源代碼。
首先。圖像在對象中,所以我將對象更改爲每個參數。
insert: function (param, next) {
var url = settings.apiUrl + "/api/online/productAdd";
var vdata = {
img_objects :param.img_objects
};
angular.forEach(param.img_objects, function (v, k) {
vdata['img_file'+(k)] = v.files;
});
commonSVC.sendUrlFile("POST", url, vdata, function (state, data) {
next(state, data);
});
}
二。使formData
在sendUrlFile
像下面的源代碼。然後發送給actionHero。
var promise = $http({
method: method,
url: url,
headers: {
'Content-Type': undefined
},
data: params,
transformRequest: function (data) {
var formData = new FormData();
angular.forEach(data, function (value, key) {
if(angular.isObject(value)){
if(value.lastModified > 0 && value.size > 0){
formData.append(key, value);
}else{
formData.append(key, JSON.stringify(value));
}
}else{
formData.append(key, value);
}
});
return formData;
}
});
三。收到ActionHero。但是參數未定義,因此ActionHero無法接收。
exports.productAdd = {
name: 'online/productAdd',
inputs: {
I don't know How Many Images are made? 1~10? or 1~100?
},
authenticate: true,
outputExample: {
'result':'success'
}
所以我有兩個問題:
- 如何actionhero接收定義不輸入的參數?
- 我可以用Ajax將圖像數據發送給ActionHero嗎?
謝謝。