javascript - 如何自动将JS文件放入AJAX调用的页面中?

标签 javascript ajax ruby-on-rails-3 file

在我的应用程序中,我已经包含了所有需要的 JS 文件(我的脚本、Twitter Bootstrap 等库)。

问题是,当我有一个通过 AJAX 调用的请求时,因此在被调用的页面中不包含 JS 文件,这些文件包含在我的应用程序中,我必须将它们包含到被调用的页面中。

示例:my_scripts.js包含大量 JS 函数。

链接到通过 AJAX 调用的页面

<a href="/articles/create_new" data-remote="true>Create New Article</a>

/views/articles/_create_new.html.haml

...some content of this file.. #here doesn't work the functions from the file "my_scripts.js"

当我放入/views/articles/_create_new.html.haml此链接时

= javascript_include_tag "my_scripts"
...some content of this file..

那么在 /views/articles/_create_new.html.haml 中,这些 JS 函数就可以工作了。

我想问你,如果存在任何方法,如何自动将所有JS文件放入我的每个AJAX页面中,因为总是将JS文件包含到AJAX页面中不是好方法......

谢谢

最佳答案

使用像 RequireJS 这样的脚本加载器或$cript .

让您的页面还回复 2 件事:内容和要加载的脚本。最好使用 JSON,例如:

{
    "content" : "content here",
    "scripts" : ["an","array","of","script","urls"]
}

然后当数据返回时,解析并绘制内容,然后使用脚本加载器加载脚本。实际上,您可以制作自己的脚本加载器。这只是动态创建一个 <script> 的问题标签,将其放入 <head>并给它 src

关于javascript - 如何自动将JS文件放入AJAX调用的页面中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272191/

相关文章:

javascript - Angular 2 *有时不更新*

javascript - 从回调中访问 `this`

jquery - ajax调用成功函数完成后执行语句

ruby-on-rails - Rails 无效的多字节字符 (US-ASCII) - Heroku 崩溃

ruby-on-rails - 如何在 Controller RSpec 中测试设计,错误:未定义方法 `assign' for #<RSpec::Core::ExampleGroup::Nested_1:0x0000010597f4b8>

javascript - 在 Safari Mac 浏览器中滚动到屏幕外时,QuickTime 电影会从 Javascript 中消失吗?

javascript - 如何将 html 脚本转换为 .js 文件脚本

javascript - 如何向服务请求 d3 数据?

javascript - Croppie.js 图像裁剪器添加旋转功能

ruby-on-rails - 更正 HAML 以将图像链接到我的 Ruby on Rails 应用程序中的另一个页面