2014-10-19 123 views
1

我写了1个webapp,我尝试发送1个JSON到服务器并保存到MySQL中。我有这样的问题:HTTP/1.1 404 Not Found - JSON Spring MVC

POST http://localhost:8080/jsonspringhibernateexample/addclass [HTTP/1.1 404 Not Found 910ms] 

这是我的控制器(使用一个类添加到MySQL):

@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,我得到了我的麻烦。 为什么我得到那个错误?我该如何解决它? 谢谢!

+0

您的控制器实际上是否已加载?创建一个构造函数并添加一个println以查看是否被调用 – 2014-10-21 21:30:43

+0

Ya,控制器收到请求,println工作。 – 2014-10-22 11:09:16

+0

我已经通过在控制器之前添加@ResponseBody解决了这个问题,但是我仍然不明白它为什么可以工作? – 2014-10-22 11:15:53

回答

0

你的控制器课之前是否有@RequestMapping(value="/jsonspringhibernateexample")? 否则尝试删除headers = {"Content-type=application/json"},也许内容类型是错误的(但我不确定)。

+0

我删除了headers = {“Content-type = application/json”},但同样的错误!当我添加1类,这个控制器运行正常,该类被添加,但然后ajax运行错误函数(我认为,错误[HTTP/1.1 404 Not Found 910ms]使ajax返回错误函数)。我在浏览器控制台看到这个错误 对不起,我的英语不好。希望你能理解! – 2014-10-19 15:08:28

+0

我的英文不是更好,你可以显示整个控制器类吗? – KyleK 2014-10-19 18:32:49

+0

我在我的帖子中编辑了我的控制器 – 2014-10-20 02:43:31

相关问题