AJAX调用没有获得Spring MVC控制器

时间:2014-08-01 03:01:33

标签: java jquery ajax spring

我正在尝试在我的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;
    }
}

2 个答案:

答案 0 :(得分:2)

ajax调用中提到的URL应该是控制器映射后跟的上下文路径。并且&#39; .html&#39;不应该指定。

 url: ${pageContext.request.contextPath}/ajaxdays

答案 1 :(得分:2)

您有以下错误

  1. 错误的网址
  2. url : 'ajaxdays.html'更改为${pageContext.request.contextPath}/ajaxdays

    1. 没有参数传递
    2. 您没有将任何数据传递到服务器端,因此无需编写data: monthSelected