如何阻止执行js响应?

时间:2012-04-03 15:44:20

标签: javascript jquery ajax ruby-on-rails-3.1

我正在使用Rails3.1 + Jquery。我有两种形式将“更新”请求提交给同一个控制器。首先,我想向用户显示警告,告诉他们请求是否成功。另一个应该是安静的。我的控制器代码如下所示:

respond_to do |format|
    if @user.update_attributes(params[:user])
      format.html { redirect_to @user, :notice => 'Settings were successfully updated.' }
      format.json { head :ok }
      format.js { flash[:notice] = 'Settings were successfully updated.' }
...

update.js负责使用flash消息更新flash div。这很好用。问题是,即使从我想要保持沉默的形式发生这种情况。我想修改表单本身以忽略响应中的任何javascript。我无法在Rails指南或Google中找到任何内容。

1 个答案:

答案 0 :(得分:0)

你也可以使用js解决这个问题,设置一个名为caller的变量,它保存调用表单的值,在获取ajax响应后检查调用者是否为form1 show message,否则返回;

伪代码:

var caller;

//In ajax response
if (caller==1) {
//show message
} else {
return;
}