我在 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,