我有一個Spring MVC中的jQuery應用這種簡單的JavaScript:數據在Ajax調用沒有傳遞到控制器
console.log("POST Variables:",postVariables);
$.ajax({
type: "POST",
url: theUrl,
traditional: true,
data: postVariables,
complete: modelCallback,
fail : errorFunction
});
控制檯日誌這樣的:
POST Variables: applicationId=977
這是正確的。我在我的控制器中有:
public HashMap<String, Object> getApplication(HttpServletRequest request) {
String applicationId = (String) request.getParameter("applicationId");
logger.error("ApplicationId:"+applicationId);
Iterator<?> it = request.getParameterMap().keySet().iterator();
logger.error("Begining parameters:"+request.getParameterMap().keySet().size());
這會爲String applicationId生成null,併爲參數映射大小生成一個0。我原本用@RequestParam註解了方法,但是失敗了,我找不到原因。我刪除了,我看到ajax調用沒有發送任何東西。
我已經嘗試過JSON,Javascript對象和(在本例中)一串請求參數。我嘗試過,沒有傳統。
我使用從一個jQuery回調函數裏面調用這個函數得到這樣的:
$.get(templateUrl).complete(callback);
但是,爲什麼沒有什麼讓我的控制器?
UPDATE如果我將它更改爲GET,那麼參數會在調用結束時添加,就像它們應該一切正常一樣。
更奇怪的是,這是一個函數,之前被調用,它作爲一個POST。功能相同。 (當然不同的URL和數據)但SAME功能。工作一次,然後看起來像失敗了。有沒有像我需要關閉一些插座?我在這裏抓着稻草。
您是否用[HttpPost]註釋Controller Action? –