始终执行事件错误$.ajax

发布于 2024-11-16 04:07:47 字数 1213 浏览 0 评论 0原文

我有一个发送电子邮件的功能。 该功能正常工作,但它总是触发错误功能,没有发生任何错误(我正在收到电子邮件)。

跟随我的Javascript:

//Send mail
$("div.contato-pedidooracao form").submit(function () {

    var dataString = $(this).serialize();
    $.ajax({
        type: "POST",
        url: "Contato/SendMail",
        data: dataString,
        dataType : "json",
        success: function (data) { alert("OK"); },
        error: function (data) { alert("Error"); }

    });
});

控制器

[HttpPost]
public ActionResult SendMail(string name, string phone, string cel, string email, string message)
{
    try
    {
        using (var mail = new MailMessage())
        {

            mail.To.Add("--mailhere--");

            mail.From = new MailAddress("\"" + name + "\" <" + email + ">" );
            mail.Subject = "Pedido de Oração - " + name;
            mail.Body = message;
            mail.IsBodyHtml = false;

            new SmtpClient().Send(mail);
        }
        return Json(new{Sucess = true, Message = "Email enviado com sucess!" } );

    }
    catch (Exception ex)
    {
        return Json(new{Sucess = false, Message = ex.Message } );
    }

}

I have a function for sending email.
This function works normally, but it always triggers the error function, any error did not occur (I'm receiving email).

Follow my Javascript:

//Send mail
$("div.contato-pedidooracao form").submit(function () {

    var dataString = $(this).serialize();
    $.ajax({
        type: "POST",
        url: "Contato/SendMail",
        data: dataString,
        dataType : "json",
        success: function (data) { alert("OK"); },
        error: function (data) { alert("Error"); }

    });
});

Controller

[HttpPost]
public ActionResult SendMail(string name, string phone, string cel, string email, string message)
{
    try
    {
        using (var mail = new MailMessage())
        {

            mail.To.Add("--mailhere--");

            mail.From = new MailAddress("\"" + name + "\" <" + email + ">" );
            mail.Subject = "Pedido de Oração - " + name;
            mail.Body = message;
            mail.IsBodyHtml = false;

            new SmtpClient().Send(mail);
        }
        return Json(new{Sucess = true, Message = "Email enviado com sucess!" } );

    }
    catch (Exception ex)
    {
        return Json(new{Sucess = false, Message = ex.Message } );
    }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寻找一个思念的角度 2024-11-23 04:07:47

我相信您需要添加 event.preventDefault 来阻止提交事件冒泡并真正将表单提交到服务器。

$("div.contato-pedidooracao form").submit(function (event) {
   event.preventDefault();
   ..... 
   .....
 });

I believe you need to add event.preventDefault to stop the submit event from bubbling up and really submitting the form to the server.

$("div.contato-pedidooracao form").submit(function (event) {
   event.preventDefault();
   ..... 
   .....
 });
久随 2024-11-23 04:07:47

您是否尝试将 return false 添加到提交函数中:

$("div.contato-pedidooracao form").submit(function () {

  var dataString = $(this).serialize();
    $.ajax({
       type: "POST",
       url: "Contato/SendMail",
       data: dataString,
       dataType : "json",
       success: function (data) { alert("OK"); },
       error: function (data) { alert("Error"); }
   });
return false;  //right here
});

Did you try just adding return false to the submit function:

$("div.contato-pedidooracao form").submit(function () {

  var dataString = $(this).serialize();
    $.ajax({
       type: "POST",
       url: "Contato/SendMail",
       data: dataString,
       dataType : "json",
       success: function (data) { alert("OK"); },
       error: function (data) { alert("Error"); }
   });
return false;  //right here
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文