我正在尝试在我的Spring MVC项目中进行简单的AJAX调用,但遇到了麻烦。我通过发送一个String类型参数来制作我的AJAX请求,并且我想要返回一个ArrayList类型。我此时已阅读了很多教程,无法弄清楚我的AJAX / Controller配置有什么问题。我在尝试将所需结果返回到视图时使用ResponseBody注释。在这个控制器中,我没有返回更新的ModeAndView对象,但这应该无关紧要,因为我不需要刷新页面因为我正在使用AJAX。下面是我的AJAX调用和控制器代码。如果有人能给我一些关于我在这里做错的提示,我真的很感激。
function getdays() {
var monthSelected = $("#monthselect option:selected").text();
alert(monthSelected);
$.ajax({
url : '${pageContext.request.contextPath}/ajaxdays',
data: monthSelected,
success : function(data)
{
$('#daySelect').html(data);
alert(data);
}
});
} 这是我的控制器类:
@Controller
@SessionAttributes
public class WorkstationController
{
@RequestMapping(value = "/ajaxdays", method = RequestMethod.GET)
public @ResponseBody
ArrayList<String> getTime(HttpServletRequest request)
{
ArrayList<String> retList = new ArrayList<>();
retList = this.getList();
return retList;
}
}
答案 0 :(得分:2)
ajax调用中提到的URL应该是控制器映射后跟的上下文路径。并且&#39; .html&#39;不应该指定。
url: ${pageContext.request.contextPath}/ajaxdays
答案 1 :(得分:2)
您有以下错误
将url : 'ajaxdays.html'
更改为${pageContext.request.contextPath}/ajaxdays
您没有将任何数据传递到服务器端,因此无需编写data: monthSelected