【问题标题】:Sending Email using jquery ajax,webservice and c#使用 jquery ajax、webservice 和 c# 发送电子邮件
【发布时间】:2017-12-25 06:02:56
【问题描述】:

我不知道我做错了什么。我的代码不断给我这个错误。

jquery.js:10254 POST http://localhost:7855/Services/svUsers.asmx/EmailNotification500(内部服务器错误)

这是我所有的代码

[WebMethod]
public bool EmailNotification(string from,string to,string username)
{
    MailMessage tmail = new MailMessage();
    tmail.From = new MailAddress(from);
    tmail.To.Add(new MailAddress(to));
    StringBuilder builder = new StringBuilder();
    builder.Append(string.Format("Dear {0} <br/><br/>",username));
    builder.Append("How are you john iliya i am testing Sending Email Messages with Webservice...i have faith it would work...");
    builder.Append(("<br/><br/>"));
    builder.Append("<b>Powered By JINGBREEDS.com");
    tmail.Subject = "Testing Of Mail Messages";
    tmail.Body = builder.ToString();
    tmail.IsBodyHtml = true;
    tmail.Priority = MailPriority.Normal;
    var smtp = new SmtpClient();
    {
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.EnableSsl = true;
        smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtp.Credentials = new System.Net.NetworkCredential("yourun@gmail.com","yourpswd");
    }
    smtp.Send(tmail);
    return true;
}
<input type="text" placeholder="Email Address" name="txtEMF"  class="form-control" />
<input type="text" placeholder="Email Address" name="txtEMT"  class="form-control" />
<input type="button" class="btn-info btn form-control" name="btnSend" value="Send"  />

<script type="text/javascript">
    $(document).ready(function () {
        $("input[name$='btnSend']").click(function () {
            var un = "airmarshalg";
            $.ajax({
                url: "../Services/svUsers.asmx/EmailNotification",
                method: "POST",
                data: { from: $("input[name$='txtEMF']").val(), to: $("input[name$='txtEMT']").val(), username: un },
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    if(response.data == true)
                    {
                        alert("Hurray message sent...");
                    }                               
                },
                error: function (err) {
                    console.log(err);
                }
            });
        });
    });
</script>

【问题讨论】:

  • 要扩展 Will 的评论,您需要弄清楚服务器返回 HTTP 500 的根本原因是什么。这可能意味着添加日志记录,或者在附加了调试器的情况下单步执行代码。跨度>
  • 您是否调试了代码以找出问题所在?
  • 我是编程的新手先生...我不知道如何在附加调试器的情况下进入代码
  • 首先在 EmailNotification 方法的第一行放置一个断点,看看它是否被命中。然后使用 F10 单步执行该方法以查看它的位置。
  • 当我单独运行 web 服务时,它可以工作并将邮件发送到我的邮件地址,但是当我尝试使用 ajax 调用运行它时,它会引发错误

标签: c# jquery ajax web-services


【解决方案1】:

我能够通过在我的 web 服务的最顶部取消注释这行代码来解决这个问题。这是我的一个可怕的错误 [System.Web.Script.Services.ScriptService]

谢谢大家,代码就像使用 angular 的魅力 haha​​hah 一样

【讨论】:

    猜你喜欢
    • 2017-07-21
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 2016-04-17
    • 2015-08-10
    • 2012-02-25
    • 2010-10-01
    相关资源
    最近更新 更多