2017-08-15 62 views
0

我对Spring MVC框架非常陌生,并且试图弄脏我的手。这里是我的Ajax调用:AJAX发布请求没有找到Spring MVC控制器,返回404

$.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

显示你如何实际调用我加入的问题完整的AJAX调用控制器 – StanislavL

+0

。请看一看。 –

回答

0

你的控制器方法被映射为 “/列表/下一个”,但你的AJAX方法调用 “/ SPN /列表/下一个”。 你可以尝试添加这将是上下文路径(如果是JSP):

​​
+0

已经做到了,不起作用。 –

+0

@PrashantPandey我更新了答案 – Shchipunov

+0

让我试试。顺便说一句,当我从AJAX网址中删除了spn部分时,它返回了未经授权的401错误。所以,我想我搞砸了网址。 –