我正在尝试对我设置的弹簧REST服务进行简单的ajax调用。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调用时,我收到错误“Error:[object Object]”。
但是,我知道我的控制器安装正确,因为我可以打我的服务,并通过使用RESTClient Firefox add-on得到响应,所以我认为问题是如何处理jQuery调用,但这是我第一次尝试使用jQuery,所以我不知道它有什么问题。
太糟糕'data'在这种情况下无效json – mkoryak