如何从客户端JS用我的后端
发送邮件我有类方法用于发送电子邮件如何从客户端JS用我的后端
public static bool SendEmail(string msg)
{
var sent = false;
try
{
var fromEmail = ConfigurationManager.AppSettings["FromEmail"];
var toEmail = ConfigurationManager.AppSettings["ToEmail"];
var emailsubject=ConfigurationManager.AppSettings["ErrorTitle"];
var emailService = new EmailServiceClient();
sent = emailService.SendEmail(fromEmail, toEmail, emailsubject, msg);
}
catch (Exception ex)
{
LogException(ex);
}
return sent;
}
这里是我的javascript功能上的按钮点击()事件
function sendMail() {
var e= "Hi";
$.ajax({
url: '/Home/SendEmail',
method: "POST",
success:function (result) {
alert('Email Sent');
},
error: function (result) {
alert('Email Does Not Sent');
}
});
}
这JS代码打开我的系统的Outlook电子邮件(打开我的邮件客户端)。 我想通过EmailService直接从我的网页上发送按钮上的电子邮件(不是通过SMTP,因为我为EmailService创建了WCF),我不知道如何实现它。
需要知道JS代码的变化以及任何文档或示例供参考会有帮助。 谢谢
我建议你阅读有关jquery以及如何使用jquery ajax,下面的代码是一个很好的点开始,你,如果你正在使用MVC或API或Web表单没有提及,所以下面的代码是一个位通用。 (this is a complete guide that you can follow)
function SendMail(){
var msg = 'your msg';
$.ajax({
url: 'YOURURLHERE/SendEmail?msg=' + msg,
method: "GET",
}).done(function (result) {
alert('Email Sent');
});
});
}
方法GET或POST? –
@RuchiTang在这种情况下,您可以使用GET或POST,我会使用POST,但是如果您想确保您可以阅读此资源http://www.restapitutorial.com/lessons/httpmethods.html –
嗨Victor,您的答案似乎为我工作,我根据你的答案编辑我的JS代码,但如果我把断点放到我的HomeController方法,呼叫不会被执行。它直接抛出错误函数(alert)。 –
它曾与此:
public ActionResult SendEmail(string msg)
{
var sent = false;
try
{
var emailClient = new EmailServiceReference.EmailServiceClient();
sent = emailClient.SendEmail(fromEmail, toEmail, emailsubject, msg); /// All parameters of SendEmail method defined
}
catch (Exception ex)
{
Console.WriteLine("Exception occured while sending Email " + ex.Message);
}
return Json(sent, JsonRequestBehavior.AllowGet);
}
良好的解决方案 –
你只能做你的服务器上。使用AJAX。 – SLaks
您可以给出一个代码示例,任何其他参考。 –
@如果你要求代码示例或参考,你的问题会立即变成offtopic –