R闪亮 - 如何将带有参数的请求URL发送到R闪亮并获得数据响应?

时间:2016-01-20 21:56:27

标签: r http shiny

我有一个闪亮的应用程序(使用闪亮的仪表板)。 我试图传递url上的参数,使用这些参数生成一些数据然后将其返回给调用应用程序。我把它放在我的服务器中:

  observe({
    #all url params come in via the 'url_search' variable.
    query <- parseQueryString(session$clientData$url_search)
    action <- query[['action']]
    if (!is.null(action)) {
      #handle all supported request here
      if(action == 'blah') {
        #... do somework here to create my dataframe
        shiny:::httpResponse(status=200, content_type="text/html; charset=UTF-8", mydataframe)
      } else {
        #... ignore unrecognized request
      }     
    }
  })

这有效,但不是以预期的方式:

正确处理请求,但首先发生的是渲染整个闪亮的应用程序。 然后,稍后,我看到了一个&#39; POST&#39;请求,我的原始网址作为推荐人,并将所需数据作为JSON数据发布,但我不知道它的去向。

我需要什么,以便我可以将我的网址(带参数)发送到我闪亮的应用程序,然后让它绕过其通常的交互模式,只需立即返回原始json数据而不渲染HTML?是因为我通过浏览器提出请求吗?我应该在R?

中以编程方式提出相同的网址请求

更新:我尝试在我的网址上使用fromJSON(&#39; ...&#39;)也无法正常工作。我明白了:

Error in fromJSON(content, handler, default.size, depth, allowComments,  : 
  invalid JSON input

1 个答案:

答案 0 :(得分:1)

我不相信你只能使用Shiny来做到这一点。但是,有一些选项可让R表现得像API并返回JSON响应。请参阅:http://plumber.trestletech.com/