Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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
将javascript变量分配给ruby变量_Javascript_Ruby - Fatal编程技术网

将javascript变量分配给ruby变量

将javascript变量分配给ruby变量,javascript,ruby,Javascript,Ruby,我正在编写一个从websocket调用的脚本。这一页代码是html.erb的 它将变量传递给javascript,我想从javascript变量将其分配给ruby变量 这是密码 function set_color(val1,val2) { <%background_color_id = %> var obj_color_id = '<%=background_color_id ='+val2+'%>' ; console.log(obj_color_id)

我正在编写一个从websocket调用的脚本。这一页代码是html.erb的

它将变量传递给javascript,我想从javascript变量将其分配给ruby变量

这是密码

function set_color(val1,val2)
{

  <%background_color_id = %>
  var obj_color_id = '<%=background_color_id ='+val2+'%>' ;
  console.log(obj_color_id)
 }
功能集\u颜色(val1、val2)
{
var obj_color_id='';
控制台日志(对象颜色id)
}
控制台日志的结果是
+val2+

如果我通过
var obj_color_id=''

控制台日志的结果是
val2


请帮助我将javascript变量分配给ruby变量

您不能这样做。Javascript运行客户端,Ruby运行服务器端。

您不能这样做。Javascript运行客户端,Ruby运行服务器端。

你不能这样做。所有值
您不能这样做。所有值
事实上,如果我理解您的代码(不幸的是,您的问题措辞不当),简单的解决方案是:

1-通过服务器端代码分配值:

function set_color(val1,val2)
{
  var bkgdColorId = "<%= background_color_id %>";
  var obj_color_id = bkgdColorId;
  console.log(obj_color_id)
}
function set_color(val1,val2)
{
  /** pseudo-code **/
  on-click-event: makeAjaxCallToServer(){
    urlForWebService, { color: val2 }
  }
}

使用一些jQuery(如果从客户端事件分配到服务器)将极大地促进这一过程。

实际上,如果我理解您的代码(不幸的是,您的问题措词不当),简单的解决方案是:

1-通过服务器端代码分配值:

function set_color(val1,val2)
{
  var bkgdColorId = "<%= background_color_id %>";
  var obj_color_id = bkgdColorId;
  console.log(obj_color_id)
}
function set_color(val1,val2)
{
  /** pseudo-code **/
  on-click-event: makeAjaxCallToServer(){
    urlForWebService, { color: val2 }
  }
}

使用一些jQuery(如果从客户端事件分配给服务器)将极大地促进这一过程。

试试var obj_color_id='background_color_id';尝试var obj_color_id='background_color_id';这个页面是html.erb页面,我需要将javascript变量分配给ruby变量,正如我所说的,您不能这样做。只需通过websocket或post请求将变量发送到您的服务器。这个页面是html.erb页面,我需要将javascript变量分配给ruby变量,因为我说过,您不能这样做。只需通过websocket或post请求将您的变量发送到您的服务器。此页面是html.erb页面,我需要将javascript变量分配给ruby变量。您不能这样做。如果要将数据从客户端(Javascript)分配到服务器(Ruby),则需要通过Ajax之类的请求发送数据。此页面是html.erb页面,我需要将Javascript变量分配给Ruby变量。您不能这样做。如果您想将数据从客户端(Javascript)分配到服务器(Ruby),您需要通过Ajax之类的请求发送数据。我已经通过Ajax调用解决了这个问题,但是有没有办法将值从客户端javasscript值传递到服务器变量?类似于
否。这是不可能的,因为所有服务器端代码都是在客户端(web浏览器)可以评估JavaScript(变量)之前处理的。但是,您可以构建一个服务器端web服务(php文件?),其工作方式与表单post(或get)类似,并接收javascript向其发布的值。您可以使用AJAX调用来实现这一点(或者向服务器提交表单)。我已经通过AJAX调用解决了这个问题,但是有没有办法将值从客户端javasscript值传递给服务器变量呢?类似于
否。这是不可能的,因为所有服务器端代码都是在客户端(web浏览器)可以评估JavaScript(变量)之前处理的。但是,您可以构建一个服务器端web服务(php文件?),其工作方式与表单post(或get)类似,并接收javascript向其发布的值。您可以使用AJAX调用来实现这一点(或者向服务器提交表单)。