我需要在一页中添加ajax函数。但是在Spring MVC中,它不适用于@PathVariable。
page1.jsp
<li><a href="page2/sss">WatchEvent</a></li>
1)工作正常
在控制器中
@RequestMapping(value = "page2/{id}", method = RequestMethod.GET)
public ModelAndView WatchEvent(@PathVariable("id")String id) {
System.out.println("In getplayback :"+id);
List<modelone> getdetails=Serviceone.detailsToUser(id);
System.out.println("In getplayback from db:"+getdetails);
return new ModelAndView("page2","getdetails",getdetails);
}
此处详细信息发送至第2页。
2))但不单词。
Page2.jsp
<script type="text/javascript">
$(document).ready(function() {
alert("ready");
var fun="event";
var savedata = {
action:fun,
};
$.ajax({
url : "events",
type : "POST",
datatype:"json",
data: savedata,
error:function(){
alert("Error");
},
success: function() {
alert("success");
}
});
});
</script> `
但是不会转到下面的控制器。
@RequestMapping(value="events",method=RequestMethod.POST)
public @ResponseBody String GetSomeEvents(){
System.out.println("In someevent********************");
String todayDate = new SimpleDateFormat("dd/MM/yyyy").format(new Date());
System.out.print("today"+todayDate);
List<modelone> getlist=Serviceone.getSomeEvents();
return "success";
}
结果是警报错误。
在萤火虫
POST ....... / page2 / events
405方法不允许
最佳答案
按如下所示修改操作后尝试:
@RequestMapping(value = "events", method = RequestMethod.POST)
public @ResponseBody String GetSomeEvents(@RequestParam String action) {
System.out.println("In someevent********************");
String todayDate = new SimpleDateFormat("dd/MM/yyyy").format(new Date());
System.out.print("today" + todayDate);
List<modelone> getlist = Serviceone.getSomeEvents();
return "success";
}
修改是将请求参数添加到操作参数中。
关于jquery - 在Spring MVC中使用@PathVariable时,Ajax不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27184330/