Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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/2/jquery/70.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
呈现部分内容并转义bookmarklet的html/javascript_Javascript_Jquery_Html_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

呈现部分内容并转义bookmarklet的html/javascript

呈现部分内容并转义bookmarklet的html/javascript,javascript,jquery,html,ruby-on-rails,ruby-on-rails-4,Javascript,Jquery,Html,Ruby On Rails,Ruby On Rails 4,我正在尝试构建一个bookmarklet,它向localhost中的一个操作发出请求,并显示一个div,其中包含从localhost的js响应中获取的html。我可以很好地发出请求,但当js返回时,控制台中有“undefined”。我试着用binding.pry调试它,我发现内容没有正确评估。这就是我试图评估它的方式: content=“'events/bookmarklet').html_safe)%> 在binding.pry控制台中,我得到以下响应: content = eval("<

我正在尝试构建一个bookmarklet,它向localhost中的一个操作发出请求,并显示一个div,其中包含从localhost的js响应中获取的html。我可以很好地发出请求,但当js返回时,控制台中有“undefined”。我试着用binding.pry调试它,我发现内容没有正确评估。这就是我试图评估它的方式:

content=“'events/bookmarklet').html_safe)%>

在binding.pry控制台中,我得到以下响应:

content = eval("<%= escape_javascript render(:partial => 'events/bookmarklet') %>");                                                                                  
SyntaxError: (eval):1: syntax error, unexpected '<'
<%= escape_javascript render(:partial => 'events/bookmarklet') %>
 ^
(eval):1: syntax error, unexpected ')', expecting end-of-input
<%= escape_javascript render(:partial => 'events/bookmarklet') %>
                                                              ^
from (pry):12:in `eval'
content=eval(“'events/bookmarklet')%>”;

SyntaxError:(eval):1:语法错误,意外“如果我理解您想正确执行的操作,我不知道您为什么尝试
eval
某些操作

如果您想通过javascript传递html,请使用
json
render_to_string
。以你为例:

# controller
def action_name
  content =
    render_to_string(
      partial: 'events/bookmarklet',
      formats: [:html], # always render html format, even if request wants json
      layout: false # render only partial, without any layout
    )

  render json: { html: content }
end

您可以通过
data.html
访问javascript中的内容。

我正在尝试评估它是否有效。非常感谢:D。