セットアップしたSpringRESTサービスに単純なajax呼び出しを行おうとしています。
私のコントローラーは次のように定義されています。
@Controller
public class SongPlayerController {
....
@RequestMapping(value = { "/ajax", "/ajax/" }, method = RequestMethod.GET)
@ResponseBody
public String ajax() {
return "New Song URL";
}
}
そして、ajaxリクエストを含む単純なhtmlページがあります。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<title>Insert title here</title>
<script type="text/javascript">
function loadAjax() {
$.ajax({
type : "GET",
url : "http://localhost:8080/song-player/ajax",
data : "text",
success : function(response) {
$('#ajax').val(response);
},
error : function(e) {
alert('Error: ' + e);
}
});
}
function getAjax() {
$.getJSON('http://localhost:8080/song-player/ajax', function(data) {
alert('Ajax data' + data);
});
}
</script>
</head>
<body>
<button type="button" onclick="loadAjax()">Ajax Call</button>
<div id="ajax">This will be an ajax call.</div>
</body>
</html>
ただし、$.ajax
またはを使用していない場合は、$.getJSON
何も返されません。ajax呼び出しを使用すると、「エラー:[オブジェクトオブジェクト]」というエラーが発生します。
ただし、RESTClient Firefoxアドオンを使用してサービスにアクセスし、応答を取得できるため、コントローラーが正しくセットアップされていることはわかっています。問題はjQuery呼び出しの処理方法にあると思いますが、これは初めての試みです。 jQueryを使用しているので、何が問題なのかわかりません。