0

所以我试图自学 asp.net 和 javascript。我下载了一个网站模板并将其转换为一个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 方法,那么如何在 Mailhandler 文件中调用 post 方法呢?

这是我的处理程序文件:

public class Handler : IHttpHandler {
    public void ProcessRequest (HttpContext context) {

             //create mail client, create message, send email

    }
}
4

1 回答 1

1

检查这个较早的帖子$.get, $.post, $.ajax, $(elm).load to .ashx 页面问题我相信你的问题是格式 - 查看数据:属性。

您肯定需要将 _.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
});
于 2012-08-03T21:02:10.250 回答