如何避免评估 JavaScript 响应?

How to avoid to evaluate a JavaScript response?

提问人:user502052 提问时间:5/18/2014 最后编辑:Communityuser502052 更新时间:5/18/2014 访问量:153

问:

我正在使用 Ruby on Rails 4。在我之前的问题中,我问了如何处理元素的 JavaScript 事件“一种 là Rails 方式”。但是,我想让 AJAX 评估 JavaScript 响应(无论它是什么),以便我可以实现我的自定义行为。link_to :remote

在我的情况下,应该忽略的 AJAX 响应是通过单击以下链接生成的:

link_to('destroy', article_path(@article), :method => :delete, :remote => true, :id => 'css_id')

成功后,它将返回一个 JS 重定向,但我想简单地捕获成功响应,而不评估后续重定向。

$('#css_id').on('ajax:success', function(event, xhr, status) {
  alert("success!");

  \\ Here I would like to do not evaluate the JS response.
});

我该怎么做?

javascript jquery ruby-on-rails-4 unobtrusive-javascript

评论


答:

0赞 Mohanraj 5/18/2014 #1

您可以编写 javascript 行为,只需在 .js.erb 文件中调用此行为,因为您可以避免在模板中编写更多 js 代码。应该是这样的。

例如:在创建中.js.html:

App.createProdict() #pass the required params.

而这个 App.createProduct 是一个 js 行为。

评论

0赞 user502052 5/18/2014
你是说我必须实现一个新文件并使用控制器中的语句处理事情吗?如果是这样,是否意味着控制器会更复杂?顺便说一句:我想忽略 JS 响应,以免使控制器复杂化.......js.htmlcase when