Tôi có hình thức ajax đơn giản này trong ứng dụng MVC3 của tôi, mà gửi tin nhắn email:Làm thế nào để hiển thị thông báo lỗi chỉ trong OnFailure của Ajax.BeginForm trong MVC3?
@using (Ajax.BeginForm("SendMessage", new AjaxOptions {
LoadingElementId = "wait",
OnSuccess = "loadMessages",
OnFailure = "showError" }))
{
<input type="text" name="message" placeholder="Message" />
<input type="submit" name="submit" value="Send" />
}
Nếu hành động thất bại trong việc gửi một tin nhắn, nó ném ngoại lệ. Trường hợp ngoại lệ được xử lý và hiển thị trong showError (lỗi) {} javascript chức năng:
function showError(error) {
$("#error").text(error.responseText);
};
Vấn đề là: error.responseText là bãi html của toàn bộ trang lỗi.
Tôi chỉ cần hiển thị thông báo lỗi ngoại lệ (mọi thứ ở dạng ex.Message trong MVC3).
Việc triển khai "Public ActionResult SendMessage (chuỗi tin nhắn) {}" không liên quan.
Tôi cần biết cách hiển thị thông báo của ngoại lệ chỉ trong trình xử lý javascript showError (lỗi).
Cảm ơn một nhóm.
[HttpPost]
public ActionResult SendMessage(string message)
{
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
mail.From = new MailAddress("[email protected]");
mail.Subject = "Some Message";
mail.Body = message;
mail.To.Add("[email protected]");
SmtpServer.Send(mail);
return null;
}
vui lòng hiển thị hành động SendMessage của bạn ... –
Bạn không chắc chắn những gì nó đã làm với câu hỏi ... 8 | – monstro
b/c bạn không thể sử dụng onFailure trừ khi bạn muốn chụp một lỗi http. Bạn muốn hiểu cách bạn trả lại lỗi –