Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何通过单击中的按钮将数据发送到服务器_R_Shiny - Fatal编程技术网

R 如何通过单击中的按钮将数据发送到服务器

R 如何通过单击中的按钮将数据发送到服务器,r,shiny,R,Shiny,我试图在按钮的提交事件中将一些数据发布到闪亮的服务器。我已经完成了输入绑定,但是我无法在我的html和服务器代码所在的服务器上接收数据 <html> <script> var submit_binding = new Shiny.InputBinding(); $.extend(submit_binding, { find: function(scope) { return $(scope).find("#submit

我试图在按钮的提交事件中将一些数据发布到闪亮的服务器。我已经完成了输入绑定,但是我无法在我的html和服务器代码所在的服务器上接收数据

<html>
<script>
   var submit_binding = new Shiny.InputBinding();
   $.extend(submit_binding, {
        find: function(scope) {
             return $(scope).find("#submit");
         },

       getValue: function(el) {
           // Get the row and cell number of the selected td.
           //var month 
           //var year 
           var result = ['2', '2013'];
           return result;
        },

       subscribe: function(el, callback) {
           $(el).on("click.submit_binding", function(e) {
               callback();
           });
       },

       unsubscribe: function(el) {
            $(el).off(".submit_binding");
       }

       });

     Shiny.inputBindings.register(submit_binding);
</script>
    <body>
    <div>
        <select id="mn" name="mn">
            <option value="1">1</option>
            <option value="2">2</option>
        </select> 
        <select id="yr" name="yr">
            <option value="2012">2012</option>
            <option value="2013">2013</option>
        </select> 
        <button id="submit">Run</button>
    </div>
    <div>
         <div  id="mean" class="d3-plot-output"></div>
    </div>
    </body>
</html>

var submit_binding=new.InputBinding();
$.extend(提交绑定){
查找:功能(范围){
返回$(范围)。查找(#提交”);
},
getValue:函数(el){
//获取所选td的行和单元格编号。
//风险月
//风险年
风险值结果=['2','2013'];
返回结果;
},
订阅:函数(el、回调){
$(el).on(“单击提交绑定”,函数(e){
回调();
});
},
取消订阅:功能(el){
$(el.off(“.submit_binding”);
}
});
inputBindings.register(提交绑定);
1.
2.
2012
2013
跑
我的服务器代码:

shinyServer(function(input, output) {
    month <- reactive({
        switch(input$mn, '1'=1, '2'=2,1)
    })
    year <- reactive({
        switch(input$yr, '2012'=2012, '2013'=2013,2012)
    })

    testwrite <- function(){
         a = c[1,2,3]       
         write.csv(a, file="test_binding.csv");
         return (a)
}

    output$mean <- reactive(        
        testwrite()
    )
 })
shinyServer(功能(输入、输出){

月份我更改了服务器代码,如下所示,以使其正常工作

shinyServer(function(input, output, session) {
    values <- reactiveValues();
    values$lastAction <- NULL;
    observe({    
        values$lastAction <- input$submit;
    })    

    testwrite <- function(){
         a = c[1,2,3]       
         write.csv(a, file="test_binding.csv");
         return (a)
    }

    output$mean <- function(){        
        if(!is.null(values$lastAction)){
            testwrite()                
        }
    }
})
shinyServer(功能(输入、输出、会话){

值您到底想在这里做什么?我认为您不需要绑定来在服务器和客户端之间进行通信。如果您澄清您想做什么,有人可以提供帮助。我有一个html页面,其中有一个选择框和提交按钮。在进行选择并点击提交按钮后,我将向服务器发送选择框值服务器。服务器将运行一些函数,结果将发送回客户端。然后客户端将使用d3js绘制一些图表。Shiny已经有了一个用于此目的的提交按钮。这是否不足以满足您的目的?我没有使用Shiny ui。我使用的是自定义HTML。您仍然可以通过添加正确的类来使用现有绑定。因此对于提交按钮,您可以添加
type=submit