javascript - 执行RoR中通过ajax请求返回的javascript

标签 javascript jquery ruby-on-rails ajax

我有这样的rails渲染javascript View :

$("##{@organization.id}-organization-introtext").hide();
$("##{@organization.id}-organization-full").append("#{escape_javascript(render @organization)}").hide().fadeIn('slow').focus();

通过它,例如我得到这样的数据:

$("#9-organization-introtext").hide();
$("#9-organization-full").append("<h2 id=\'magenta\'>\n  Shell - Автосервис\n<\/h2>\n<div>\n  Shell - Автосервис\n  <br>\n  <br>\n<\/div>\n<div>\n  <strong>\n    Контактная информация:\n  <\/strong>\n  <p>\n    8 (0152) 510 884\n    8 (029) 265 38 09\n  <\/p>\n  <p>\n    <script type=\"text/javascript\" charset=\"utf-8\" src=\"//api-maps.yandex.ru/services/constructor/1.0/js/?sid=SrxOH8zh15XLRmFVDc91yCeDQr23_VUl&width=600&height=450\"><\/script>\n  <\/p>\n  <p>\n    г.Ростов-на-Дону, ул.Василевского 1\n  <\/p>\n<\/div>\n<div class=\'tags\'>\n  <span>\n    Метки:\n  <\/span>\n  автозапчасти, замена масла\n<\/div>\n").hide().fadeIn('slow').focus();

但是在浏览器中这个脚本没有被执行,为什么?如何运行它?并显示这个 yandex.map ?

最佳答案

@organization 中的 Javascript 代码和 HTML 代码分开,并将 Javascript 代码添加到文档的 head 部分。

var script = document.createElement( 'script' );
script.type = 'text/javascript';
script.text = "#{{escape_javascript(render @organization_javascript)}";
$("head").append( script );

来源 - Can't append <script> element

关于javascript - 执行RoR中通过ajax请求返回的javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22221137/

相关文章:

jquery - 如何使用 on() 函数将 AJAX 加载的元素绑定(bind)到 JQuery 插件

ruby-on-rails - Ruby on Rails Monkey 修补 Gem 的模型

javascript - 对表中的行进行排序

javascript - 为什么这个事件监听器不起作用?

javascript - 可观察 knockout 更新

javascript - onclick 也重定向到 "form action"

javascript - 使用 jQuery 填充对象数组和过滤级联下拉列表

ruby-on-rails - 确定脚本/服务器是否正在启动

ruby-on-rails - 在 Rails 中验证失败时,选择提示选项消失

javascript - 带有响应式 HTML5 视频的 Bootstrap 轮播?