【发布时间】:2025-12-20 02:40:06
【问题描述】:
我正在尝试向一个非常简单的 Grails 方法发出 ajax 请求:
def countRace() {
Date date = params.date("date", 'yyyy-MM-dd');
Integer count = Race.countByDate(date);
log.info("Number of races on " + date + " is " + count);
return [count : count]
}
我正在使用以下 jQuery 代码来执行此操作:
function updateDayRaceCount(id) {
$.ajax({
url: "${g.createLink(controller:'data', action:'countRace')}?date=" + id
}).done(function(response) {
alert(response);
});
}
我看到日志在服务器上触发,所以我知道该方法正在被命中:
grails.app.controllers.runnerdb.DataController Number of races on Thu Mar 06 00:00:00 GMT 2014 is 38
但是 ajax 请求出错并带有 404。当我观察到错误时,我发现它是Tomcat标准404页面,并且正在生成的URL看起来像这样:
/runnerdb/data/countRace?date=<id here>
被映射到:
/runnerdb/WEB-INF/grails-app/views/data/countRace.jsp
这就是问题所在,因为我认为 Tomcat 或 grails 正试图呈现一个不存在的视图。
我的问题是……
我如何在 grails 中停止这种仅用于这种方法的行为,并强制它简单地返回 int 值?
【问题讨论】:
标签: jquery ajax tomcat grails groovy