我正在嘗試與百里香一起使用ajax。我設計了一個帶有兩個輸入字段的簡單html頁面。我想使用addEventHandler
作爲第一個輸入文本的值,然後我想將它發送給控制器並進行計算,之後我需要在從控制器返回的第二個字段中以相同的HTML格式編寫它。Ajax Thymeleaf Springboot
例如:
first input text value -> controller (make calculation) -> (write value) in second input text.
我的HTML頁面
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<link rel='stylesheet prefetch' href='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<input type="text" name="Thing" value=""/>
<script th:inline="javascript">
window.onload = function() {
/* event listener */
document.getElementsByName("Thing")[0].addEventListener('change', doThing);
/* function */
function doThing() {
var url = '@{/testurl}';
$("#fill").load(url);
alert('Horray! Someone wrote "' + this.value + '"!');
}
}
</script>
<!-- Results block -->
<div id="fill">
<p th:text="${responseMsg}"/></div>
</div>
</body>
</html>
我控制器
@RequestMapping(value = "/testurl", method = RequestMethod.GET)
public String test(Model model) {
model.addAttribute("responseMsg","calcualted value")
return "test";
}
但是我無法從AJAX調用控制器。你可以幫幫我嗎?
是你的控制器用'@ RestController'還是'@ Controller'註解的? AJAX經常與REST服務一起使用,在你的情況下,你正在控制器中使用'Model',這讓我認爲你想要在AJAX調用中返回一個完全呈現的頁面。 – g00glen00b
它的@Controller – tester
你能指定確切的錯誤是什麼? AJAX請求返回的http代碼是什麼,或者Java端發生了什麼錯誤?謝謝 – emanek