gpt4 book ai didi

java - Ajax 调用 Spring 服务

转载 作者:行者123 更新时间:2023-12-01 02:32:07 26 4
gpt4 key购买 nike

我正在尝试对我设置的 Spring REST 服务进行简单的 ajax 调用。

我的 Controller 定义如下:

@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 调用时,我收到错误“错误:[object Object]”。

但是,我知道我的 Controller 已正确设置,因为我可以使用 RESTClient Firefox add-on 访问我的服务并获得响应所以我认为问题在于我如何处理 jQuery 调用,但这是我第一次尝试使用 jQuery,所以我不知道它出了什么问题。

最佳答案

字符串文字“新歌曲 URL” 不是有效的 JSON。尝试返回此:

@Controller
public class SongPlayerController {
@RequestMapping(value = { "/ajax", "/ajax/" }, method = RequestMethod.GET)
@ResponseBody
public String ajax() {
return "{\"url\":\"New Song URL\"}";
}
}

然后按如下方式访问该值:

function getAjax() {
$.getJSON('http://localhost:8080/song-player/ajax', function(data) {
alert('Ajax data' + data.url);
});
}

关于java - Ajax 调用 Spring 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14063457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com