【问题标题】:Ajax & Grails - how to use the params from the model in the success of the Ajax?Ajax & Grails - 如何在成功的 Ajax 中使用模型中的参数?
【发布时间】:2015-04-05 09:58:49
【问题描述】:

我有一个 Ajax,它调用控制器中的操作。

控制器渲染:

render template:"changePassword", model:[user: user, passwordError: passwordError]

passwordError 是布尔值。

如果passwordError 为真,我必须在 js.file 中执行函数。

如何在成功的Ajax中检查passwordError的值?

Ajax 的代码:

$.ajax({
    url: changePassword,
    type: "post",
    data: {
        password: $('#password').val(), npassword: $('#npassword').val()
    },
    success: function(data,textStatus){
        $('#changePassSuceess').modal()
    }
});

【问题讨论】:

    标签: ajax grails controller


    【解决方案1】:

    如果您不需要渲染模板,您可以返回 @Eylen 提到的 json,然后从 json 访问标志。如果你必须渲染一个模板,那么你可以在你的模板中有一个隐藏字段,其值设置为标志 passwordError,然后你可以从你的 javascript 代码中的这个隐藏字段中获取标志的值

    查看how to find hidden element in jquery ajax response html这个问题

    【讨论】:

      【解决方案2】:

      如果您不需要显示您正在返回的模板,那么您可以将您的返回从控制器更改为类似以下的内容

      return [passwordChanged:true] as JSON
      

      然后在您的 ajax 调用中,您将可以访问数据属性中的 JSON 对象。

      console.log(data.passwordChanged);
      

      也许您还必须在 ajax 调用中说明返回类型是 json。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-02
        • 1970-01-01
        • 2013-10-30
        • 2012-04-16
        • 1970-01-01
        • 2012-08-01
        相关资源
        最近更新 更多