Grails 发布/接收JSON对象

Grails 发布/接收JSON对象,grails,post,Grails,Post,因此,我使用此代码发布: $.ajax({ url: '/validator/ValidationController/validate', data : JSON.stringify(parameters), contentType : 'application/json', type : 'POST' }) 这两个按钮都是由同一个按钮触发的。但它只是得到一个空对象 def validate()

因此,我使用此代码发布:

     $.ajax({
                url: '/validator/ValidationController/validate',
        data : JSON.stringify(parameters),
        contentType : 'application/json',
        type : 'POST'
    })
这两个按钮都是由同一个按钮触发的。但它只是得到一个空对象

def validate(){
    Thread.currentThread().sleep(1000)
    def parameters = request.JSON;
    assert parameters.a == "a_value";

}
当我将鼠标悬停在validate函数上时,它被称为:Object validator.ValidationController.validate(),我假设url是错误的


注意:我对此非常缺乏经验,鼓励像5岁那样对我说话

我们需要更多的代码来查看您是如何发送和接收的,但似乎您没有处理异步方面。简单地说,您正在发送请求并立即尝试处理响应,即使它尚未返回,即使您尝试睡眠。查看ajax函数的完整配置。大概是这样的:

$.ajax({
    url: '/validator/ValidationController/validate',
    data : JSON.stringify(parameters),
    contentType : 'application/json',
    type : 'POST',
    complete: function(request, success){
        validate(request)
    }
})

def validate(request){
   Thread.currentThread().sleep(1000)
   def parameters = request.JSON;
   assert parameters.a == "a_value";

}

一个是Javascript函数,另一个是grails,它是客户端和服务器代码。