所以我正在尝试使用javascript自学asp.net。我下载了一个网站模板并将其转换为asp网站。它有一个联系表单,其中javascript称为php函数来发送电子邮件。我无法使用php在我的托管网站上发送电子邮件。
该模板包含一个文件MailHandler.ashx
,我应该可以使用它来发送带有asp的邮件。我已经完成了我的研究,我相信我的代码处于正常运行状态。我的问题是,javascript用于调用PHP文件,如何将其转换为调用此MailHandler文件?
这是调用我的php文件的相关代码:
$.ajax({
type: "POST",
url:_.mailHandlerURL, //this value is the path to the php file
data:{
name:_.getValFromLabel($('.name',_.form)),
email:_.getValFromLabel($('.email',_.form)),
phone:_.getValFromLabel($('.phone',_.form)),
fax:_.getValFromLabel($('.fax',_.form)),
state:_.getValFromLabel($('.state',_.form)),
message:_.getValFromLabel($('.message',_.form)),
owner_email:_.ownerEmail,
stripHTML:_.stripHTML
},
我知道这是调用php文件的post方法,那么如何调用post方法做我的Mailhandler文件?
这是我的处理程序文件:
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
//create mail client, create message, send email
}
}
答案 0 :(得分:1)
检查此帖子$.get, $.post, $.ajax, $(elm).load to .ashx page problem我相信您的问题是格式化 - 请参阅data:attribute。
您肯定需要将_.mailHandlerURL设置为ashx文件的URL。
我认为它看起来应该更像这样:
var dataParams = "name="+_.getValFromLabel($('.name',_.form));
dataParams += ", email="+_.getValFromLabel($('.name',_.form));
// etc for the rest
$.ajax({
type: "POST",
url:_.mailHandlerURL, //this value is the path to the php file
data:dataParams
},
如果此代码完全像您需要在java脚本中的最后一个}之后添加一个右括号并添加一个分号而不是逗号:
$.ajax({
type: "POST",
url:_.mailHandlerURL, //this value is the path to the php file
data:dataParams
});