使用AJAX发布表单时遇到了麻烦。
这是我的ajax电话:
function submit() {
$.ajax({
type: "POST",
url: "http://localhost:8080/executeRetrieve",
data: $("#form").serialize(),
dataType: "json",
success: function(data) {
alert(data);
}
})
}
这是我的HTML表单(它们在同一页面中):
<form id="form" method="post">
User <input type="text" name="user" id="user"/><br />
Password <input type="password" name="password" id="password"/><br />
<input type="submit" value="Submit" onclick="submit()"/>
而且,这是我的行动:
@RequestMapping(value = "/executeRetrieve", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
public @ResponseBody String executeRetrieve(HttpServletRequest request) {
JSONObject json = new JSONObject();
json.put("message", "hello");
return json.toString();
}
我很困惑。不应该那样吗?我一直在寻找解决方案至少3天,我无法理解发生了什么。甚至没有达到行动方法。有人知道我在哪里弄错了吗?
先谢谢,好朋友。
答案 0 :(得分:0)
我认为您尝试从ajax http://localhost:8080/executeRetrieve调用URI中存在问题。它应该包含服务器中部署的应用程序名称。例如http://localhost:8080/<app_name>/executeRetrieve