我有以下Spring Controller
@Controller
@RequestMapping("/accreq")
使用以下映射
@RequestMapping(value = "/defRoles", method=RequestMethod.GET)
public @ResponseBody String loadDefaultRoles(
@RequestParam(value="idGroup", required=false) String groupID
throws ServletException{
我正在尝试使用以下jquery ajax
调用此方法$.ajax({
type: 'GET',
url: '/accreq/defRoles',
data: {idGroup: $('#infoGroup').val() },
success: function() {
alert("success");
}
});
请帮我弄清楚为什么即使在单击按钮时调用ajax方法也没有调用Spring方法。我已经使用firebug逐步完成了脚本,它肯定会触及ajax函数。
答案 0 :(得分:4)
首先,尝试查看在浏览器中手动点击URL时会发生什么
如果成功,请打开firebug中的请求跟踪,看看firefox是否实际点击了URL(以及响应中的内容)
答案 1 :(得分:1)
尝试将此添加到您的jquery
error: function(jqXHR, textStatus, errorThrown) {
alert("error:" + textStatus + " exception:" + errorThrown);
}
}
您将看到是否发生错误
答案 2 :(得分:1)
您在web.xml中使用哪种模式?搜索标签并查看您使用的模式。
例如,如果您正在使用:
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
你应该使用这样的东西:
$.ajax({
type: 'GET',
url: '/accreq/defRoles.html',
data: {idGroup: $('#infoGroup').val() },
success: function() {
alert("success");
}
});
答案 3 :(得分:0)
是否可能发生服务器端异常,这就是您没有看到响应的原因。如果您有调试,请确保抛出异常和/或您有相同的日志。
你的评论也有点含糊不清是什么意思,即使调用了ajax methid,也没有调用spring methid。你能澄清一下吗?另外,如果firebug发出错误是什么错误,那么使用屏幕截图或seomthing也可以帮助调用firebug o / p ..