当前位置: 首页 > 面试题库 >

jQuery + Ajax + Haml。js.erb文件未触发

姜嘉赐
2023-03-14
问题内容

阅读了一些经验后,我觉得这个问题可能需要再次提出。在Rails3中编码时,当用户尝试在我的应用程序的另一个元素上创建帖子时,我正在尝试实现一些平滑的Ajax效果。这是我关注的代码:

app / views / posts / new.html.haml

- form_for @post, :remote=>true do |f|
    = f.text_area :content
    = submit_tag "Post"

app / controllers / post_controller.rb

def create
  @comment = Post.new(params[:post])
  @comment.save
end

app / views / posts / create.js.erb:

alert("ajax worked!");

我遵循了在UJS Railscast上看到的内容,但是似乎没有任何反应。不仅如此,firebug也无法给我任何有关正在发生的事情的描述性证据。它告诉我,它是在提交后成为新帖子对象的,但没有其他内容。

有任何想法吗?


问题答案:

我找到了答案!问题是,当控制器渲染视图时,它包括我的应用程序的整体布局。布局正在屈服于渲染动作,因此.js.erb文件中包含的我的javascript代码被吐到了application.rhtml中。我通过将其包含在控制器操作中以显示我的帖子来解决此问题:

respond_to do |format|
  format.js {render :layout=>false}
end


 类似资料:
  • 问题内容: 我有3个文件: js_json.js->用于我的json代码 javascript.js->用于我的javascript函数 index.php 这里的代码为: 这是我的代码: 这里的代码: 我的问题是: 当我单击链接“ Hola Test 1”时,它将起作用并显示消息。问题是,在单击选择选项之后,出现了链接“ Hola Test”,然后单击该链接(“ Hola Test”),该消息没

  • 问题内容: 该主题很好地描述了我的问题,我假设它不会以这种方式起作用,是否有办法使其起作用?(解决方法)? 这是通过AJAX加载的代码: 这是我的点击事件: 问题答案: 做这个。 要么 编辑: 从jQuery 1.7开始,不推荐使用.live()方法。 使用.on()附加事件处理程序。较旧版本的jQuery的用户应使用.delegate()。

  • 问题内容: 对于jQuery,这是一个非常奇怪的问题。我正在加载一个div 页面加载。每条记录都是表格数据,并带有与之关联的“删除” ajax函数。当页面加载并单击“删除”链接时,ajax调用会触发。但是,一旦触发事件,就会从ajax调用返回数据,并且div中会填充数据(但页面不会刷新或重新加载)。当我再次单击链接时,ajax脚本将不会触发。这是我的代码: 问题答案: 当您删除元素然后通过java

  • 问题内容: 我可以使用以下jQuery代码使用ajax请求的POST方法执行文件上传吗? 如果可能,我是否需要填写部分?这是正确的方法吗?我只将文件发布到服务器端。 我一直在搜索,但是我发现是一个插件,而在我的计划中我不想使用它。至少目前是这样。 问题答案: 上传文件是 不是 有可能通过AJAX。 您可以使用来上传文件,而无需刷新页面。 更新 使用XHR2,支持通过AJAX上传文件。例如通过对象,

  • 问题内容: 我在用rails3呈现Java脚本时遇到了麻烦(如果相关,我使用JQuery,它工作正常,因为它已在应用程序的许多其他部分中使用)而不是html。 我所拥有的:我认为,我有此链接: 首先,我不明白为什么我必须添加:format =>:js以使控制器使用JS视图,而不是HTML视图。这是控制器的代码: 在控制器类的开始,我有这行: 我的edit.js.erb文件包含带有警报的一行。但是,

  • 问题内容: 似乎是一个简单的问题,但解决其他问题的方法似乎对我没有用。 试图通过单击按钮来触发AJAX请求,但似乎并未触发。 HTML示例 javascript 问题答案: 您拥有的代码在拨弄中工作得很好。初始页面加载后,按钮是否通过AJAX动态呈现? 用 代替