0

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>
4

1 に答える 1

0

次の方法でデータを渡します。

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

nullフォーム ID を使用してデータにアクセスすると、不正な形式またはデータを受け取る可能性があります。

代わりに、次のいずれかを試してください。

  • 送信したデータ属性の変更 (Email --> txtEmail)
  • 取得した要求ステートメントを変更する (request("txtEmail") --> request("Email"))
  • 手動で解析された JSON-Data の代わりにフォームを送信します。これは次のようになります

    データ: document.forms.quickmail.data,

于 2013-09-26T08:32:25.457 に答える