【发布时间】:2015-11-18 11:06:43
【问题描述】:
我有一个响应 .json(json 格式)的应用程序。我还必须构建一个书签,在您执行它的页面上创建一个 div。此小书签向应用程序发出请求,应用程序应使用包含 javascript 的 json 对象进行响应。假设这就是所有的javascript:
function selectElementContents()
{
el = document.getElementById('quicklink_value')
if (document.body.createTextRange) {
// IE
var textRange = document.body.createTextRange();
textRange.moveToElementText(el);
textRange.select();
textRange.execCommand("Copy");
}
else if (window.getSelection && document.createRange) {
// non-IE
var range = document.createRange();
range.selectNodeContents(el);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
var range = document.createRange();
try {
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
} catch(err) {
console.log('Oops, unable to copy');
}
}
}
content = "<%= escape_javascript(render(:partial => 'events/bookmarklet').html_safe) %>";
_tp_bookmarklet(content);
如您所见,我还有一个部分需要在名为 content 的变量中呈现。
def bookmarklet
respond_to do |format|
format.json
end
end
这是小书签正在调用的操作。如何将 javascript(其中包含渲染部分的内容变量)作为 json 响应?
我可以提供任何需要的其他信息。
【问题讨论】:
-
您可以简单地使用
@content = escape_javascript(render(:partial => 'events/bookmarklet').html_safe)然后format.json {content: @content}来完成它,在您的前端您可以获得json响应和响应将具有您的html.. -
缺少部分事件/_bookmarklet 它似乎没有找到部分......任何想法?
-
视图文件夹中有局部视图吗??
-
是的,我愿意。好吧,这就是我现在的问题,正如我所说,您应该将其作为答案发布,以便我检查。
-
感觉不太对劲..你能分享一下你的其他问题..让我看看吗?
标签: javascript ruby-on-rails json