javascript - 尽管在 Rails 中渲染,.js.erb 文件并未执行

标签 javascript ruby-on-rails

我使用rails和haml。我通过 Ajax post 将数据发送到 Rails 中的 Controller :

$.ajax({
type: 'POST',
url: '/preview-image-upload',
processData: false,
contentType: false,
dataType : 'json',
data: data
});

然后我在 Controller 中执行数据并渲染js:

respond_to do |format|
 if @previewupload.save
  format.js
 end

对象已正​​确保存。 .js.erb 文件也根据服务器日志正确呈现:

Rendered path/preview_image_upload.js.erb (0.2ms)
Completed 200 OK in 603ms (Views: 8.1ms | ActiveRecord: 8.5ms)

出于测试原因,我将警报放入了 Preview_image_upload.js.erb 文件中:

alert("Hello World");

但什么也没发生。看起来 .js.erb 文件已渲染但未执行。

尝试了这里的解决方案: js.erb not executing javascript but is processed rails

{ render layout: false, content_type: 'text/javascript' }

但这并没有奏效。

最佳答案

从 jQuery AJAX 调用执行 Rails javascript 响应的数据类型是 script

关于javascript - 尽管在 Rails 中渲染,.js.erb 文件并未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31207166/

相关文章:

ruby-on-rails - 如何正确地将两个 as_json 方法合并为一个?

javascript - 更好地从 Node 或每个请求的连接到 memcached/mongo 的单一全局连接?

javascript - 将任何 XML 或 JS 对象显示为树

ruby-on-rails - Rails 添加了新的设计 View

javascript - 找不到 "application"模板或 View 。什么都不会呈现 Ember Js Rails API

ruby-on-rails - 如何重启 phusion passenger?

ruby-on-rails - 定期清除 Heroku 上陈旧的 Resque worker ?

JavaScript 数组到 java

javascript - onMouseover 函数不起作用,否则它会起作用

javascript - 对于 in 和 Object.keys - es6