【发布时间】:2023-03-11 16:25:01
【问题描述】:
我编写了 1 个 webapp,我尝试将 1 个 JSON 发送到服务器并将其保存到 MySQL。我遇到了这个问题:
POST http://localhost:8080/jsonspringhibernateexample/addclass [HTTP/1.1 404 Not Found 910ms]
这是我的控制器(用于向 Mysql 添加一个 Class):
@Controller
public class ClassController {
@Autowired
private ClassService classService;
@RequestMapping(value ="/index",method = RequestMethod.GET)
public String getIndex(ModelMap map){
map.put("listClass",classService.getListClass());
map.put("studentClass", new Class());
return "class";
}
@RequestMapping(value ="/addclass", method = RequestMethod.POST)
public String addClass(@RequestBody Class studentClass){
classService.addClass(studentClass);
return "index";
}
}
这是我调用控制器的 jquery:
$("#addclass").click(function(e){
$.ajax({
url:"addclass",
type: "post",
contentType: 'application/json',
data: JSON.stringify({className:$("#input").val(),listStudent:null}),
}).done(function(){
$("#listclass").appent("<option>"+$("#input").val()+"</option>");
});
});
当我单击“#addclass”按钮时,添加了类但控制器不返回 index.jsp,我遇到了麻烦。 为什么我会收到这个错误?我该如何解决? 谢谢!
【问题讨论】:
-
你的控制器真的被加载了吗?创建一个构造函数并添加一个 println 以查看是否被调用
-
是的,控制器收到请求,println 工作。
-
我已经通过在控制器之前添加@ResponseBody 解决了这个问题,但我仍然不明白它为什么会起作用?
标签: java jquery mysql json spring