2
我使用jQuery做Ajax請求,這要求翌年春季控制器:如何使用ajax請求從彈簧控制器返回視圖?
@RequestMapping(value = "/dialogController", method = RequestMethod.POST)
public String dialogController(Model model, @RequestBody MyClass myclass) {
myClass.setTitle("SUCCESS");
model.addAttribute("myClass",myClass);
return "dialogContent"; //this resolves to dialogContent.jsp
}
不過,我收到以下錯誤:
org.springframework.web.HttpRequestMethodNotSupportedException:
Request method 'POST' not supported
如果這裏需要的是Ajax調用我使用製作jQuery的:
jq.postJSON("/dialogController", myClass, function(data) {
myDialog.html(data);
myDialog.dialog('open');
//dialog settings previously assigned,
//but the success callback function is not reached anyway
});
編輯 我得到同樣的錯誤,如果我我們E:
jq.ajax({
type: 'POST',
url: "/dialogController",
data:myClass,
success: function(data) {
previewDialog.html(data);
previewDialog.dialog('open');
});
是否正常工作,如果您使用的是其他客戶端張貼JSON數據?也是在dialogController中的一個錯誤?你還使用JavaScript庫嗎?如果是這樣的話? – Ali
@Ali是的是一個拼寫錯誤。沒有嘗試一個休息客戶端,它會發揮作用,因爲彈簧控制器上發生錯誤?同樣的錯誤,如果我做類似的請求,但刪除json/myclass參數。 – NimChimpsky
您是否嘗試在@RequestMapping註釋中添加Accept =「text/html,application/json」?我推薦RestClient的原因是因爲您可以看到傳入的「接受」值是什麼,您可以嘗試更改它以查看錯誤是否仍然存在。 – Ali