我正在使用回形针和 uploadify,并且能够正常工作。我还使用了一些 AJAX,这样几个提交按钮就不会触发整个页面的重新加载。之前还好好的,现在就停止了(日志显示没有调用js.erb)。
这是我的应用程序中的内容:
[remi@iMac]$ l public/javascripts/
total 728
-rw-r--r--@ 1 remi staff 148 May 17 08:01 application.js
-rw-r--r--@ 1 remi staff 34787 May 17 08:01 controls.js
-rw-r--r--@ 1 remi staff 31056 May 17 08:01 dragdrop.js
-rw-r--r--@ 1 remi staff 38467 May 17 08:01 effects.js
-rw-r--r--@ 1 remi staff 72328 May 22 10:50 jquery-1.4.2.js
-rw-r--r--@ 1 remi staff 162353 May 17 08:01 prototype.js
-rw-r--r--@ 1 remi staff 5850 May 17 08:01 rails.js
-rwxr-xr-x@ 1 remi staff 10220 May 17 08:01 swfobject.js
drwxr-xr-x 5 remi staff 170 May 22 10:38 uploadify
我注意到 javascript include 标签的顺序有所不同。当我首先包含 jquery 时,uploadify 不起作用,但 ajax 工作正常。
<%= javascript_include_tag "jquery-1.4.2.js" %>
<%= javascript_include_tag :defaults %>
当我更改它时,uploadify 可以工作,但单击我的 ajax 按钮会重新加载页面:
<%= javascript_include_tag :defaults %>
<%= javascript_include_tag "jquery-1.4.2.js" %>
我对此还很陌生,你能给我一些解释吗?
最佳答案
JavaScript 文件按“出现顺序”加载。您需要按照您希望它们与其他 JavaScript 文件一起工作的方式包含它们。
例如:
<script>
// I need some stuff written in script1.js
</script>
<script src="script1.js"></script>
不会工作,因为你需要在你的东西之前加载 script1.js。
这就是为什么必须首先加载 JavaScript 库(如 jQuery 或 Prototype)(最重要的是包含在内)。这就是为什么你的 AJAX 东西在 jQuery 之前加载时不起作用。
关于javascript - 我的 javascript include 标签的顺序很重要,我不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6091209/