包含javascript的Rails json响应
Rails json response that includes javascript
我有一个响应.json(json格式)的应用程序。我还需要构建一个bookmarklet,在执行它的页面上创建一个div。这个bookmarklet向应用程序发出请求,应用程序应该用一个包含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
这是bookmarklet正在调用的操作。如何将javascript(其中包含渲染的分部的内容变量)作为json响应
我可以提供任何需要的额外信息。
只需即可完成
@content = escape_javascript(render(:partial => 'events/bookmarklet').html_safe)
然后
format.json {content: @content}
在您的前端,您可以获得json响应,响应将包含您的html。
另一种方法是直接渲染部分/模板,并将其作为json对象关闭。。。但当你有办法满足部分。。。比如,如果您使用的是实例或本地控制器变量,则应该注意这些变量。
format.json { content: escape_javascript(render(:partial => 'events/bookmarklet').html_safe) }
或者你可以做的是创建一个method
,它可能是私有的,可以像一样呈现你的部分
def blahblah (params...)
escape_javascript(render(:partial => 'events/bookmarklet').html_safe)
end
........
format.json {content: blahblah(params)}
相关文章:
- 在不同的javascript数组中对json响应进行排序
- Laravel数据表无效的JSON响应
- 使用Backbone.js访问JSON响应的部分
- 不需要的JSON响应
- 跨多个域的json响应
- 将对Ajax PUT的json响应重定向到要由EL解析的JSP中
- handler没有为JSON响应正确填充模板
- 如何在phonegap应用程序中处理Ajax json响应
- 将JSON响应放入var中并输出
- 如何使用AngularJS将if语句conditon与json响应一起使用
- JS-通用解析JSON响应
- 将json响应格式化为父级和子级
- 从 JSON 响应解析数据
- 单个和多个 JSON 响应
- 将日期作为从 Web API 到 angularJS 的 json 响应
- 在 JSX Render for React.js 中遍历 JSON 响应
- 使用 JavaScript 从 URL 获取 JSON 响应
- 使用来自AngularJS的Web API JSON响应-错误:应为和数组,但得到了一个对象
- 生成动态json响应的Javascript
- 如何将json响应的一部分转换为map