2014-10-19 119 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

相關問題