Spring ModelAndView 无法使用 ajax 调用
Spring ModelAndView not working with ajax call
Ajax 调用 Spring 控制器 employee_edit 但 ModelAndView 不工作。它不会重定向到 jsp 页面 object.I 想要重定向到页面 employee_registration.jsp对象 员工。代码没有错误。
Ajax
$('#example1 tbody').on( 'click', 'button1', function () {
var eid = table.row( $(this).parents('tr') ).data().eid;
$.ajax({
type:"GET",
url:"employee_edit?eid="+eid
});
控制器
@RequestMapping(value="/employee_edit", method=RequestMethod.GET)
public ModelAndView RegitrationEdit(@RequestParam("eid") long eid)
{
Employee employee=employeeService.getEmployee(eid);
ModelAndView mv=new ModelAndView();
mv.setViewName("employee/employee_registration");
mv.addObject("employee",employee);
return mv;
}
在 运行 代码之后没有显示任何错误。浏览代码 ModelAndView("employee/employee_registration","employee",employee);
但没有任何反应。
提前致谢。
我认为在您的 ajax 调用中您需要添加成功参数。您可以简单地将呼叫修改为
$.ajax({
type:"GET",
url:"employee_edit",
data:{"eid":eid},
success:function(data){
}
});
或者您也可以在代码中只添加成功参数
$.ajax({
type:"GET",
url:"employee_edit?eid="+eid
success:function(data) { }
});
但我更喜欢第一个。更清晰了。
这应该会完成 ajax 调用,您的程序应该可以运行。
从 ajax 调用时,ModelAndView 将不起作用。您需要通过使用注解 @ResponseBody
标记 return 类型,将员工对象 return 设为 json
@RequestMapping(value="/employee_edit", method=RequestMethod.GET)
public @ResponseBody Employee RegitrationEdit(@RequestParam("eid") long eid)
{
Employee employee=employeeService.getEmployee(eid);
return employee;
}
调用成功后,会在成功回调中得到响应。
$.ajax({
type:"GET",
url:"employee_edit?eid="+eid,
success: function(data) {
//here data is the employee object
//process it here and redirect using window.location
}
});
Ajax 调用 Spring 控制器 employee_edit 但 ModelAndView 不工作。它不会重定向到 jsp 页面 object.I 想要重定向到页面 employee_registration.jsp对象 员工。代码没有错误。
Ajax
$('#example1 tbody').on( 'click', 'button1', function () {
var eid = table.row( $(this).parents('tr') ).data().eid;
$.ajax({
type:"GET",
url:"employee_edit?eid="+eid
});
控制器
@RequestMapping(value="/employee_edit", method=RequestMethod.GET)
public ModelAndView RegitrationEdit(@RequestParam("eid") long eid)
{
Employee employee=employeeService.getEmployee(eid);
ModelAndView mv=new ModelAndView();
mv.setViewName("employee/employee_registration");
mv.addObject("employee",employee);
return mv;
}
在 运行 代码之后没有显示任何错误。浏览代码 ModelAndView("employee/employee_registration","employee",employee);
但没有任何反应。
提前致谢。
我认为在您的 ajax 调用中您需要添加成功参数。您可以简单地将呼叫修改为
$.ajax({
type:"GET",
url:"employee_edit",
data:{"eid":eid},
success:function(data){
}
});
或者您也可以在代码中只添加成功参数
$.ajax({
type:"GET",
url:"employee_edit?eid="+eid
success:function(data) { }
});
但我更喜欢第一个。更清晰了。
这应该会完成 ajax 调用,您的程序应该可以运行。
从 ajax 调用时,ModelAndView 将不起作用。您需要通过使用注解 @ResponseBody
@RequestMapping(value="/employee_edit", method=RequestMethod.GET)
public @ResponseBody Employee RegitrationEdit(@RequestParam("eid") long eid)
{
Employee employee=employeeService.getEmployee(eid);
return employee;
}
调用成功后,会在成功回调中得到响应。
$.ajax({
type:"GET",
url:"employee_edit?eid="+eid,
success: function(data) {
//here data is the employee object
//process it here and redirect using window.location
}
});