0

我在 JQUERY 中获取 AJAX 方法以在我的经典 ASP 页面方法上发布以发送电子邮件时遇到问题。这是我的代码请告诉我我在做什么错误。还建议我在执行我的应用程序页面功能后如何重定向到上一个 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>
4

1 回答 1

0

您以这种方式传递数据:

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

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

而是尝试:

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

    数据:document.forms.quickmail.data,

于 2013-09-26T08:32:25.457 回答