Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax和Grails—如何在Ajax的成功中使用模型中的参数?_Ajax_Grails_Controller - Fatal编程技术网

Ajax和Grails—如何在Ajax的成功中使用模型中的参数?

Ajax和Grails—如何在Ajax的成功中使用模型中的参数?,ajax,grails,controller,Ajax,Grails,Controller,我有一个Ajax,它调用控件中的一个动作 控制器渲染: render template:"changePassword", model:[user: user, passwordError: passwordError] 密码错误是布尔值 如果passwordError为true,我必须在js.file中执行函数 如何在成功的Ajax中检查passwordError的值 Ajax的代码: $.ajax({ url: changePassword, type: "post",

我有一个Ajax,它调用控件中的一个动作

控制器渲染:

render template:"changePassword", model:[user: user, passwordError: passwordError]
密码错误是布尔值

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

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

Ajax的代码:

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

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

return [passwordChanged:true] as JSON
然后在ajax调用中,您将可以访问data属性中的JSON对象

console.log(data.passwordChanged);

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

如果您不需要呈现模板,您可以返回前面提到的@Eylen的json,然后从json访问标志。如果必须呈现模板,则可以在模板中设置一个隐藏字段,其值设置为flag passwordError,然后可以从javascript代码中的该隐藏字段获取flag的值

有关详细信息,请参见此问题