Nic*_*een 3 ajax cdo.message asp-classic
我已经看了谷歌等,但找不到我想要的东西,所以要求我的SE成员帮忙.
我的表单包含在我的页面上,并且在整个站点中都是一致的.我想提交没有页面刷新的查询表格,这是经典ASP的正常路线.
我有一个单独的ASP页面,其中包含我的邮件脚本,并且工作正常并发送电子邮件,但是我想使用Ajax来调用该页面,发送电子邮件然后通知用户它已被发送.
任何帮助,将不胜感激.
经典的ASP,ASP.NET,PHP或任何其他动态语言,它与你真正做的一样是FORM POST ing,那就是HTML,而不是ASP.
假设你有一个像这样的表格
<form id="frm-submit" action="/SendEmail.asp" action="POST">
...
<input type="submit" value="Submit form" />
</form>
Run Code Online (Sandbox Code Playgroud)
添加一个小jQuery到页面
$(function() {
$("#frm-send").submit(function() {
var data = $(this).serialize(),
action = $(this).attr("action"),
method = $(this).attr("method");
$(".loading").show(); // show loading div
$.ajax({
url: action,
type: method,
data: data,
success: function(data) {
// all went well...
},
error: function(err) {
// there was something not right...
},
complete: function() {
$(".loading").hide(); // hide the loading
}
});
return false; // don't let the form be submitted
});
});
Run Code Online (Sandbox Code Playgroud)
你准备好了.
在您的sendMail.asp页面中,您发送到的所有内容都Response.Write将在方法的data变量中success,因此在您发送电子邮件后,您将拥有:
Response.Write("done")
Responde.Flush()
Response.End()
Run Code Online (Sandbox Code Playgroud)
在javascript部分,你可以像下面这样处理它:
success(data) {
if(data === "done")
{
// Super duper! let's show the user a Thank you for submit page
document.location = "/ThankYou.asp";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11042 次 |
| 最近记录: |