簡體   English   中英

經典ASP和JQuery在重定向時重新加載default.asp頁

[英]Classic ASP and JQuery reloads default.asp page on redirect

我已經將現有的Classic ASP站點與JQuery集成在一起(它們之前使用的是VBScript)。 以前的版本運行良好,但是需要更新腳本,以便在其他瀏覽器上運行。 但是,當我使用集成的JQuery重定向頁面時,系統會加載default.asp文件和第二個URL。 地址欄還會顯示默認網址。

我該如何預防?

當我使用window.open('url') ,它將使用正確的URL打開正確的頁面,但是我打開了2個標簽。 當我使用window.open('url', '_self')它仍然重定向到有問題的頁面。

PS Response.Redirect 'url'window.open('url', '_self')給出相同的結果。

編輯:這是一些使用的代碼

這是在default.asp中加載的主要框架JS(提交功能)

$("img[name=cmdLog]").click(function(){
            $("form[name=frmLogIn]").target = "_top";
            $("form[name=frmLogIn]").get(0).setAttribute("action", "ValidateUser.asp");
            $("form[name=frmLogIn]").submit();
        });

這是ValidateUser.asp (不使用更新的JS,僅使用VBScript)

<form name="frmValidate" method="post">
    <%
        Session("PMISConnString")="Provider=SQLOLEDB;Server=192.168.x.x;User ID=sa;PWD=x;Database=DB"
        dim conn, rsEmp, SQLQuery, m_Code,i,lenStr,newCode,rsUser
        set conn=Server.CreateObject("ADODB.Connection")

        m_Code=Request.Form("txtEmpID")
        lenStr=len(m_code)
        newCode=""
        for i=1 to lenStr
            if mid(m_Code,i,1)="'" then
                newCode=newCode & "''"
            else
                newCode=newCode & mid(m_Code,i,1)
            end if
        next 


        conn.Open=Session("PMISConnString")

        dim clsCrypt
        dim url
        set clsCrypt=Server.CreateObject("ChiperText.clsChiperText")

        SQLQuery="SELECT UserCode, Pwd "
        SQLQuery=SQLQuery & "FROM Users "
        SQLQuery=SQLQuery & "WHERE UserCode='" & clsCrypt.ChiperText(lcase(newCode)) & "'"

        set rsUser=Server.CreateObject("ADODB.Recordset")
        rsUser.Open SQLQuery,conn

        if rsUser.EOF then
            url = "ErrorPage.asp?TYPE=6"
        elseif rsUser.Fields("Pwd")<>clsCrypt.ChiperText(Request.Form("txtEmpPassword")) then
            url = "ErrorPage.asp?TYPE=7"
        end if

        SQLQuery="SELECT EmpID,EmpFirst,EmpLast,dbo.GetCapitalChars(Employee.EmpMid) AS MidInitial From Employee WHERE EmpID='" & newCode & "' "
        SQLQuery=SQLQuery & "AND EmpActive=1 "

        set rsEmp=Server.CreateObject("ADODB.Recordset")
        rsEmp.Open SQLQuery,conn
        if not rsEmp.EOF then
            Session("EmpID")=Request.Form("txtEmpID") 
            Session("MyName")=rsEmp.Fields("EmpFirst") & " " & rsEmp.Fields("MidInitial") & " " & rsEmp.Fields("EmpLast")
            'varServer="http://" + Request.ServerVariables("SERVER_NAME") + "/" + Session("VirtualName") + "/"

            Response.Cookies("Site")="http://" + Request.ServerVariables("SERVER_NAME") + "/" + "PMIS"

            Session("Server")="http://" + Request.ServerVariables("SERVER_NAME") + "/" + "PMIS"
            Session("ImgFolder")="http://" + Request.ServerVariables("SERVER_NAME") + "/" + "PMIS/Images/" 'full path ng images folder under PMIS directory
            url = "main2.asp"
        else
            url = "ErrorPage.asp?TYPE=1"
        end if

        Response.Redirect(url)
        rsEmp.Close
        Set rsEmp=Nothing
        set clsCrypt=Nothing
        conn.Close
        set conn=Nothing
    %>
</form>

如果在框架集中,請考慮使用JavaScript將window.top.location.href更改為您的重定向URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM