我有一个函数,它需要一个 json 作为输入输入和几个参数,如下所示:
data<-function(x, listname=NA) {
x<-fromJSON(x)
(x <- lapply(x, function(x) { as.data.frame(x) }))
(x <- do.call(rbind, x))
x<-unique(x)
cols <- listname
dd<-cbind(Date=x[,1],subset(x, select=cols))
mm <- melt(dd)
ss <- split(mm, mm$variable)
poo <- unname(Map(function(n,x)
list(name=n, data=unname(lapply(split(x, 1:nrow(x)), function(x) {
list(x$Date, x$value)
}))), names(ss),ss))
p<-toJSON(poo)
return(p)
}
此数据函数需要 x 作为 json 格式和一堆其他参数。
在opencpu框架中:
我根据以下选定的列表项构建名为 param 的参数列表:
var values = [];
$("#yaxis option:selected, #xaxis option:selected").each(function() {
values.push('"' + $(this).text() + '"');
});
param="c(" + values.join(",") + ")";
console.log(JSON.stringify(param));
mysession.getObject(function(data){
var data5=JSON.stringify(data);
var req1 = ocpu.call("data", {
x:data5,
listname:param
控制台日志(参数)
"c(\"Server1\",\"DateTime\")"
当我拨打这个电话时,我收到了这个错误:
OpenCPU error HTTP 400
unused argument (listname = "c(\"Server1\",\"DateTime\")")
当我在 R 控制台上运行这个函数时,
数据(x, listname=c("Server1","DateTime")
它完美地工作。
我需要在 javascript 上做更多的事情来格式化参数输出吗?