1

我有一个函数,它需要一个 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 上做更多的事情来格式化参数输出吗?

4

0 回答 0