【发布时间】:2016-03-21 05:36:54
【问题描述】:
我正在向服务器发送一个 jQuery AJAX 请求,但浏览器的控制台告诉我找不到该页面。尽管如此,映射请求的 URL 的 Spring MVC 签名仍然执行,但 AJAX 函数的 done 部分没有执行。
以下是相关代码:
Javascript:
var content = $(data).filter("#wrapper-email-content");
$.ajax({
url : '/sendEmail',
type : 'POST',
data : {
content: content.html()
}
}).done(function(){
console.log("Finished")
});
Spring MVC 签名:
@RequestMapping(value = "/sendEmail", method = RequestMethod.POST)
public void sendEmail(
HttpServletRequest request, String content) {
UserTO user = (UserTO) request.getSession().getAttribute("USER");
String email = user.getEmail();
String title = "Your order";
Email.sendEmail(title, email, content, null, null, null);
}
因此,在代码中,发送了电子邮件,这意味着执行了 sendEmail 方法,但我仍然收到错误 404:未从 AJAX 请求中找到,并且控制台中未打印“已完成”。
我做错了什么?
【问题讨论】:
-
您确定是 404,而且不只是请求超时,因为服务器没有返回任何内容?
-
你的 sendEmail 方法返回什么\
-
该方法不返回任何内容(void),只是请求服务器发送电子邮件的请求,不需要返回任何内容。
-
错误是:POST localhost:8000/catalog/sendEmail 404 (Not Found)
-
然后尝试在服务器上输出一些东西,ajax 通常需要响应并关闭连接,然后才能触发成功处理程序。
标签: javascript java jquery ajax spring