Javascript 如果IIS 6基于错误重定向到其他页面,如何确定错误?

Javascript 如果IIS 6基于错误重定向到其他页面,如何确定错误?,javascript,asp-classic,error-handling,Javascript,Asp Classic,Error Handling,好的,这可能看起来令人困惑,但基本上是这样的: asp页面上有一个表单不是.net,它将信息发送到基于MS SQL 2000的服务器,运行在IIS6上。我想,它可能是IIS 5.1。服务器配置为仅接受数字,但表单未验证 因此,当用户输入字母表并提交时,将显示一个错误。我已经根据http错误代码将IIS配置为重定向到其他页面,很抱歉,此时无法加载您请求的页面,但现在作为开发人员,我不知道错误代码是什么 有没有办法将错误页面配置为“OnLoad”发送一封电子邮件,其中包含导致错误的页面地址、错误消息

好的,这可能看起来令人困惑,但基本上是这样的:

asp页面上有一个表单不是.net,它将信息发送到基于MS SQL 2000的服务器,运行在IIS6上。我想,它可能是IIS 5.1。服务器配置为仅接受数字,但表单未验证

因此,当用户输入字母表并提交时,将显示一个错误。我已经根据http错误代码将IIS配置为重定向到其他页面,很抱歉,此时无法加载您请求的页面,但现在作为开发人员,我不知道错误代码是什么


有没有办法将错误页面配置为“OnLoad”发送一封电子邮件,其中包含导致错误的页面地址、错误消息本身、错误时间、当前登录用户等。?我对任何解决方案、客户端javascript或服务器端asp代码都持开放态度。。。即使IIS配置现在也是有效的答案。。Lol…

在IIS中,自定义错误选项卡>将500错误更改为键入URL文件“error.asp”

在error.asp中,您可以循环表单、querystring和session元素,还可以将错误详细信息发送到错误的主页

    Dim ASPErr ,ASPErrStr,intKey
  Dim strQueryStringElement,strQueryStringValue,strCurrentQueryString
  Dim strFormElement,strFormValue,strCurrentForm  
    Dim strSessElement,strSessValue,strCurrentSess
  Set ASPErr = Server.GetLastError()

  ASPErrStr = ""
  ASPErrStr = ASPErrStr&vbcrlf&"ASPCode: "&ASPErr.ASPCode
  ASPErrStr = ASPErrStr&vbcrlf&"ASPDescription: "&ASPErr.ASPDescription
  ASPErrStr = ASPErrStr&vbcrlf&"Category: "&ASPErr.Category
  ASPErrStr = ASPErrStr&vbcrlf&"Column: "&ASPErr.Column
  ASPErrStr = ASPErrStr&vbcrlf&"Description: "&ASPErr.Description
  ASPErrStr = ASPErrStr&vbcrlf&"File: "&ASPErr.File
  ASPErrStr = ASPErrStr&vbcrlf&"Line: "&ASPErr.Line
  ASPErrStr = ASPErrStr&vbcrlf&"Number: "&ASPErr.Number
  ASPErrStr = ASPErrStr&vbcrlf&"Source: "&ASPErr.Source



For Each intKey in Request.QueryString
    strQueryStringElement = Request.QueryString.Key(intKey)
    strQueryStringValue = Request.QueryString.Item(strQueryStringElement)         
    strCurrentQueryString = strCurrentQueryString & "Element: "& _ 
    strQueryStringElement & ".........Value: " &strQueryStringValue& VBCRLF
Next

For Each intKey in Request.Form
    strFormElement = Request.Form.Key(intKey)
    strFormValue = Request.Form.Item(strFormElement)         
    strCurrentForm =    strCurrentForm & "Element: "& _ 
    strFormElement & ".........Value: " &strFormValue&VBCRLF
Next

For Each intKey in Session.Contents
    strSessElement = intKey
    strSessValue = Session(intKey)
    strCurrentSess =    strCurrentSess & "Element: "& _ 
    strSessElement & ".........Value: " &strSessValue& vbcrlf
Next

ASPErrStr = ASPErrStr&vbcrlf&"QueryString: "
ASPErrStr = ASPErrStr&vbcrlf&strCurrentQueryString
ASPErrStr = ASPErrStr&vbcrlf&"Form: "
ASPErrStr = ASPErrStr&vbcrlf&strCurrentForm
ASPErrStr = ASPErrStr&vbcrlf&"Session: "
ASPErrStr = ASPErrStr&vbcrlf&strCurrentSess

Set myMail=CreateObject("CDO.Message")
myMail.Subject="Error"
myMail.From="someone@address.com"
myMail.To="someoneelse@address.com"
myMail.TextBody= ASPErrStr
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
'Name or IP of remote SMTP server
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserver")="smtpserveraddress"
'Server port
myMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
myMail.Configuration.Fields.Update
myMail.Send
set myMail=nothing
  %>