1.这是我的controller代码
@RestController
public class ComputeController {
private final Logger logger = Logger.getLogger(getClass());
@RequestMapping(value = "/test", method = RequestMethod.GET)
public List<String> test() {
ServiceInstance instance = client.getLocalServiceInstance();
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
logger.info("/test test" + instance.getHost() + ",service_id:" + instance.getServiceId() + ",result:" + list.toString());
return list;
}
}
2.这里是我的html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>INDEX</title>
<script src="jquery-1.8.0.min.js"></script>
<script>
$(document).ready(function () {
$("#btn").click(function () {
alert("start");
$.get("http://localhost:4444/add?a=12&b=3", function (data) {
$("div").html(data);
});
alert("end");
});
});
</script>
</head>
<body>
<h2>INDEX</h2>
<button id="btn">ajax</button>
<div id="div"></div>
</body>
</html>
问题:在jquery中,alert("start")和alert("end")都会正常执行,但是ajax的回调函数不能正常执行。
首先 后端应该返回 一个json格式,需要把list转成json!
其次 前端ajax里面 需要 遍历list 通过拼接的方式 构建html代码 再赋值给 div节点!
@RestController返回的内容就是Return 里的内容,也就是你返回的是list,又不是html的内容,
所以,$("div").html(data);这句话不起作用呀,你alert(data)出来应该会显示undefined
$.get("http://localhost:4444/add?a=12&b=3", function (data) {});
“add”的方法没贴出来啊
$.get("http://localhost:4444/add?a=12&b=3", function (data) {},"json"); 试试
虽然时间过去很久了,但是还是想问问试一下。楼主的问题解决了吗?能不能分享一下是如何解决的啊。