所以我正在使用此代码发布:
$.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";
}
关于grails - 发布/接收 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21714297/