我正尝试在urlencoded
表单数据的帮助下通过Rest调用将数据从UI发送到Server。
我必须将字符串和Map作为表单数据的一部分传递。
我能够传递字符串值,但不能传递地图值。
以下是我正在使用的代码
customContent : function(content, contentPath, keyPath, keyValueMap){
console.log(keyValueMap);
var data = {
customContentId: ecpmServices.currentCustomContentId,
customContent: content,
customContentPath: contentPath,
keyPath: keyPath,
keyValueMap: keyValueMap
};
return $http({
url : '/ws/cpm/customContent',
method : 'POST',
data : data ,
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
transformRequest: function(obj) {
var str = [];
for(var p in obj)
{
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
}
return str.join("&");
}}).then(function(res){
var response = res.data;
if(response.activeCustomContentId === 0) {
//Some operation
});
}
});
}
在上面的代码中,keyValueMap实际上是Map,剩下的就是字符串。 如果我在fiddler中看到上面的rest调用keyValueMap为null。 有关如何传递地图数据的任何建议。
答案 0 :(得分:0)
据我所知,你的脚本一切都可以。我甚至把它放进了一个Plunker进行测试:
http://plnkr.co/edit/cFU80HY9pF72YQ3ouXNN?p=preview
#1
m1 <- do.call(rbind, lapply(myDataFrames, function(y) do.call(rbind, y)))
relist(m1, skeleton = myDataFrames)
#2
relist(matrix(unlist(myDataFrames), ncol = 4, byrow = T), skeleton = myDataFrames)
#3
library(data.table)
df<-rbindlist(myDataFrames, idcol = "index")
df<-rbindlist(myDataFrames, fill=TRUE)
#4
myDataFrame <- do.call(rbind.data.frame, c(myDataFrames, list(stringsAsFactors = FALSE)))
它按预期工作。我最好的猜测是,在调用函数时,变量keyValueMap为空。所以这可能是一个时间问题 - 如果没有剩下的代码就很难说。