Ajax&Grails - 如何在成功的Ajax中使用来自模型的参数?

Ajax & Grails - how to use the params from the model in the success of the Ajax?

我有一个 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()
    }
});

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

return [passwordChanged:true] as JSON

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

console.log(data.passwordChanged);

也许您还必须在 ajax 调用中告知 return 类型是 json。

如果您不需要呈现模板,您可以像@Eylen 提到的那样return a json,然后从json 访问标志。如果你必须呈现一个模板,那么你可以在你的模板中有一个隐藏字段,其值设置为标志 passwordError 然后你可以从你的javascript代码

中的这个隐藏字段中获取标志的值

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