Java AJAX调用无法访问Spring MVC控制器
我试图在我的SpringMVC项目中进行一个简单的AJAX调用,但遇到了麻烦。我通过发送一个字符串类型的参数来发出AJAX请求,我希望返回一个ArrayList类型。在这一点上,我已经阅读了很多教程,无法找出我的AJAX/控制器配置有什么问题。在尝试将所需结果返回到视图时,我正在使用ResponseBody注释。在这个控制器中,我没有返回更新的ModeAndView对象,但这并不重要,因为我使用的是AJAX,所以页面不需要刷新。下面是我的AJAX调用和控制器代码。如果有人能告诉我我做错了什么,我将不胜感激Java AJAX调用无法访问Spring MVC控制器,java,jquery,ajax,spring,Java,Jquery,Ajax,Spring,我试图在我的SpringMVC项目中进行一个简单的AJAX调用,但遇到了麻烦。我通过发送一个字符串类型的参数来发出AJAX请求,我希望返回一个ArrayList类型。在这一点上,我已经阅读了很多教程,无法找出我的AJAX/控制器配置有什么问题。在尝试将所需结果返回到视图时,我正在使用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;
}
}
@控制器
@会期贡品
公共类工作站控制器
{
@RequestMapping(value=“/ajaxdays”,method=RequestMethod.GET)
公共@ResponseBody
ArrayList getTime(HttpServletRequest请求)
{
ArrayList retList=新的ArrayList();
retList=this.getList();
返回列表;
}
}
ajax调用中提到的URL应该是控制器映射后面的上下文路径。和“.html”不应指定
url: ${pageContext.request.contextPath}/ajaxdays
ajax调用中提到的URL应该是控制器映射后面的上下文路径。和“.html”不应指定
url: ${pageContext.request.contextPath}/ajaxdays
您有以下错误
url:'ajaxdays.html'
更改为${pageContext.request.contextPath}/ajaxdays
您没有向服务器端传递任何数据,因此无需写入
数据:选择的月份您有以下错误
错误的url
将url:'ajaxdays.html'
更改为${pageContext.request.contextPath}/ajaxdays
未传递任何参数
您没有向服务器端传递任何数据,因此无需写入数据:monthSelected
。您可能希望尝试在@RequestMapping注释中添加附加到value属性的.html。因此,我们需要value=“/ajaxdays.html”如何使用url:”代码>?您可能希望尝试将.html添加到@RequestMapping注释中的value属性。因此,我们需要value=“/ajaxdays.html”如何使用url:”代码>?我已经更新了答案,但不幸的是,控制器方法没有被AJAX调用击中。我输入了一些print语句,只是想看看该方法是否真的在接收调用。我已经更新了答案,但不幸的是,控制器方法没有被AJAX调用击中。我输入了一些print语句,只是想看看这个方法是否真的在接收调用。