R 如何通过单击中的按钮将数据发送到服务器
我试图在按钮的提交事件中将一些数据发布到闪亮的服务器。我已经完成了输入绑定,但是我无法在我的html和服务器代码所在的服务器上接收数据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>
<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
。