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

rst*_*uck 5 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
      }     
    }
  })
Run Code Online (Sandbox Code Playgroud)

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

请求处理正确,但首先发生的是渲染整个闪亮的应用程序.然后,稍后,我看到一个'POST'请求,我的原始url作为引用者,并将所需的数据作为JSON数据发布,但我不知道它在哪里.

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

更新:我尝试在我的网址上使用fromJSON('...')也行不通.我明白了:

Error in fromJSON(content, handler, default.size, depth, allowComments,  : 
  invalid JSON input
Run Code Online (Sandbox Code Playgroud)

Bog*_*Rau 1

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