Response.redirect不让JavaScript完成VB.Net
问题描述:
我试图发送一封电子邮件,每当某个按钮被点击后,该电子邮件发送后,我想重定向用户到另一个页面。但问题在于,在JavaScript代码完成并发送邮件之前,程序正在重定向用户。
无论如何,我仍然可以在使用JavaScript时使用response.redirect
而不是window.location.href
?Response.redirect不让JavaScript完成VB.Net
我的代码是:
Private Sub btnConfirm_Click(sender As Object, e As EventArgs) Handles btnConfirm.Click
'Send Tutor Email
divScript.InnerHtml += "<script type='text/javascript' src='js/mail.js'> </script>" & Environment.NewLine
divScript.InnerHtml += "<script>" & Environment.NewLine
divScript.InnerHtml += "SendTutorNewOrder(accountName, email, strTiming) " & Environment.NewLine
divScript.InnerHtml += "</script>" & Environment.NewLine
Response.redirect("exampleWebsite.com")
答
“SendTutorNewOrder(帐户名,电子邮件,strTiming)” 评判的结束,你在客户端的定义,下面写
window.location.href = "exampleWebsite.com";
代码,并删除
Response.redirect("exampleWebsite.com")
from server side
否,但你可以在JavaScript中“重定向” - 但你仍然需要等待SendTutorNewOrder函数完成(猜测它本质上是异步的) –
@JaromandaX。是的,我试过这样做。但是,window.location.href需要大约两秒来重定向用户。有没有办法让window.location.href运行得更快? –
当你说“在JavaScript代码完成之前重定向用户”这不是正确的。 JavaScript甚至没有开始。重定向时,身体完全被忽略。您的“exampleWebsite.com”可能是发送html的人。 –