【发布时间】:2013-02-20 05:22:02
【问题描述】:
我正在尝试使用 Jquery Ajax 对我的 Spring MVC 应用程序进行 Ajax 调用。应用程序控制器工作正常,但我无法让这个 Ajax 测试控制器工作。警报被触发,但从未调用控制器。我也尝试过使用加载、获取、发布。他们都没有调用服务器。这让我觉得我在做一些明显错误的事情。如果我把URL直接放在浏览器地址栏上,就会调用控制器。
如果有人可以指导我正确的方向或告诉我我做错了什么,我将不胜感激。
JavaScript
<html>
<head>
<script type="text/javascript" src="jquery-1.8.1.min.js"> </script>
<script type="text/javascript">
function doAjax() {
alert("did it even get here?");
$.ajax({
url : "simpleRequestTest.do",
method: "GET",
success : function(response) {
$('#show').html(response);
}
});
}
</script>
</head>
<body>
<h1>Simple Test </h1>
<a href="javascript:doAjax();"> Simple Test </a>
<br />
<div id="show">...</div>
</body>
</html>
控制器
@RequestMapping("/simpleRequestTest")
public @ResponseBody String performSimple() {
return "Very Simple Test";
}
【问题讨论】:
-
提示:使用浏览器中的开发工具查看网络流量。您可以准确地看到命中了什么 URL,以及服务器返回了什么。这很可能会为您提供所需的信息。此外,您是否尝试过简单地将浏览器指向 simpleRequestTest.do?会发生什么?
-
您正在请求
simpleRequestTest.do,但您的控制器映射是/simpleRequestTest,没有.do。我认为服务器抛出 404 not found 错误 -
我认为你的 ajax url 不正确。
-
我花了一整夜在这上面,所以我真的很期待开始尝试大家的建议。所以我启动我的电脑,启动 eclipse,启动 tomcat 并运行我的应用程序......它可以工作。我没有改变任何东西。它只是工作。我看到了一个类似的问题stackoverflow.com/questions/13047573/spring-mvc-ajax-jquery,同样的事情也发生在他身上。我真的希望我有一个答案,以防下一个遇到相同问题的人正在寻找解决方案。就我而言,重新启动似乎有效。谢谢大家的建议。
-
@StriplingWarrior “你试过简单地将浏览器指向 simpleRequestTest.do” 这是我尝试的第一件事。它工作得很好,我的调试器把它捡起来,然后把字符串返回给浏览器。但显然是以非 ajaxy 的方式。但是当 url 请求通过 Ajax 代码时,服务器永远不会被调用。也就是说,直到今天早上它开始工作。
标签: java ajax spring jquery spring-mvc