我是Spring MVC框架的新手,我正试图弄脏我的手。这是我的Ajax调用:
$.ajax("/spn/list/next"...
这是我的控制器:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ListNexPageController {
private static final String NEXT_PAGE_LEADS_URl="/list/next";
@RequestMapping(value=NEXT_PAGE_LEADS_URl,method=RequestMethod.POST)
@ResponseBody
public void getNextPage(@RequestParam(value="pageKey",required=false)String pageKeyString,@RequestParam(value="category",required=false)String category){
Log.info("URL hit, yay!");
}
}
POST调用返回404错误,表示找不到控制器。有人可以暗示我可能做错了吗? 请注意,我在POST调用中发送了一个对象数组作为参数。
以下是完整的AJAX调用:
$.ajax("/spn/list/next", {
method: 'post',
params: AJAX_DATA
});
答案 0 :(得分:0)
您的控制器方法映射到“/ list / next”,但您的AJAX方法调用“/ spn / list / next”。 您可以尝试添加它将成为的上下文路径(如果它是JSP):
$.ajax("${pageContext.request.contextPath}" + "/list/next", {
method: 'post',
params: AJAX_DATA
});