2013-05-05 55 views
0

我想用ajax發送給控制器。這裏是我的代碼:在Spring中使用ajax發送put

$().ready(function(){ 
    $('#submit').click(function(){ 
     var toUrl = '/users/' + $('#id').val() + '/profile'; 
     $.ajax({ 
      url: toUrl, 
      type: 'PUT', 
      contentType: 'application/json', 
      data: JSON.stringfy({name: 'data'}), 
      dataType: 'json' 
     }); 
    }); 
}); 

和多數民衆贊成我如何努力趕上這樣的:

@RequestMapping(method = RequestMethod.PUT, headers = "Content-Type=application/json") 
public @ResponseBody String updateProfileInfo(@PathVariable Long id, @RequestBody ProfileForm profileForm){ 

    System.out.println(profileForm.getName()); 
    System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!"); 

    return null; 
} 

只是想顯示一些安慰知道什麼happend,我不知道爲什麼會這樣ISN」不工作。

OFC我有類映射:

@RequestMapping(value = "https://stackoverflow.com/users/{id}/profile") 
public class ProfileController { 
+0

什麼問題?問題不是很清楚。 – atrain 2013-05-05 21:44:27

+0

是的,告訴我們;我設法重新創建了一個(幾乎)相同的情況,並且工作正常。提示:嘗試縮小失敗原因(請求是否達到「DispatcherServlet」?),你得到了什麼(如果有)HTTP錯誤代碼? Spring日誌中有沒有相關的東西? (如果沒有:甚至增加記錄器級別到TRACE) – kryger 2013-05-05 22:26:54

+0

它不工作。發送後放在控制檯上什麼都沒有顯示。我不知道爲什麼。一切看起來都很好,但它不起作用。 PUT請求從未映射 – 2013-05-05 22:28:00

回答

0

你爲什麼不開始在調試模式下的服務器,設定在適當的地方斷點,看看它是否擊中updateProfileInfo方法。您需要點擊http://APPLICATION_NAME/users/ID/profile

如果您使用firfox安裝firebug插件並檢查請求/響應。