如何使用AJAX将值从控制器获取到我的gsp页面



我是AJAX和grails的新手,所以非常感谢您的帮助。在我的GSP页面上,点击按钮,我正试图从控制器中检索一个变量:

$.ajax({
url:'${createLink(controller: 'store', action: 'getNum')}',
type: 'GET',
dataType: 'json',
data: {num: num}, // the num is defined before and access properly
error: function() {
alert("error");
},
success: function(data) {
alert(data);
}
});

这是我的控制器功能:

def getNum(){
String num = params.num
Long locnum = num as Long
int result = storeService.getNum(locnum)
String json = JsonOutput.toJson([count: result])
return json
}

我正在进入错误,并得到一个";错误";警觉的我想知道如何利用AJAX来获得我的GSP页面所需的号码?

谢谢。

我会这样修改你的JavaScript代码:

$.ajax({
url:'store/getNum',
method: 'POST'
data: {'num': num}, // the num is defined before and access properly
error: function() {
alert("error");
},
success: function(data) {
alert(data);
}
});

然后修改Grails控制器代码,如下所示:

def getNum() {
Long locnum = = params.long('num')
int result = storeService.getNum(locnum)
return render([count: result] as JSON) // you will need to import grails.converters.JSON
}

未来的一个技巧是在Grails控制器方法中设置一个断点,并在Debug模式下运行应用程序,以确保控制器方法被调用。如果没有调用,请单击internet浏览器的"开发工具"上的"网络"选项卡,然后按下GSP页面上的按钮,检查AJAX调用发出的HTTP请求。

最新更新