Ajax In QueryMethod Calling in Classic Asp For Email sending



我在 JQUERY 中获取 AJAX 方法以在我的经典 ASP 页面方法上发布以发送电子邮件时遇到问题。这是我的代码请告诉我我犯了什么错误。还建议我在执行ap页面功能后如何重定向到以前的html页面。

             function QuickEmail() {            
             $.ajax({
            type: "POST",
            url: "emailsending.asp",
            data: '{FirstName: "' + $("#txtFirstName").val() + '",LastName:"' +        
            $("#txtLastName").val() + '",Email:"' 
            + $("#txtEmail").val() + '",ContactNo:"' + $("#txtContactNo").val() + '"}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,                                
            failure: function (response) {
                alert(response.d);
            }
        });
        $.unblockUI();    
    }
    function OnSuccess(response) {
        $.msgBox({ title: "Message Sent!", content: "Message has been sent successfully.", type: "info" });
    }

这是我的ASP页面

enter code here
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
       <head>
    <title></title>
      </head>
        <body>
     <%
       dim FirstName
       dim LastName
       dim EmailAdd
       dim Contact
       FirstName = Request("txtFirstName")
       LastName = Request("txtLastName")
       EmailAdd = Request("txtEmail")
       Contact = Request("txtContactNo")
       Set Mail = CreateObject("CDO.Message")
       Mail.Configuration.Fields.Item  ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
       Mail.Configuration.Fields.Item  ("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="smtp.gmail.com"
       Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
       Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1
       Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
       Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
       Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") ="xxxxxx@gmail.com" 'You can also use you email address that's setup through google apps.
       Mail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") ="xxxxxxxx"
       Mail.Configuration.Fields.Update
       Mail.Subject= FirstName
       Mail.From= "xxxxxx@gmail.com" 
       Mail.To=EmailAdd
       Mail.TextBody=FirstName & vbCrLf & LastName & vbCrLf & Contact & vbCrLf &   EmailAdd
      Mail.Send
      Set Mail = Nothing
      Response.Redirect("index.html") 
      %>
      </body>
      </html>

你以这种方式传递数据:

data: '{FirstName: "' + $("#txtFirstName").val()
      + '",LastName:"' + $("#txtLastName").val() 
      + '",Email:"' + $("#txtEmail").val() 
      + '",ContactNo:"' + $("#txtContactNo").val() + '"}',

当您现在使用表单身份访问数据时,您将收到可能格式不正确或null的数据。

相反,请尝试以下任一方法:

  • 更改您发送的数据属性(电子邮件 --> txt电子邮件)
  • 更改您收到的请求语句(请求("txtEmail") --> 请求("电子邮件"))
  • 发送您的表单而不是手动解析的 JSON 数据:看起来像这样

    data: document.forms.quickmail.data,