Announcement

Collapse
No announcement yet.

Javascript to Asp.net Request und kein alert mehr möglich ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Javascript to Asp.net Request und kein alert mehr möglich ?

    Hallo,

    ich scicke von meiner JS Funktion einen GET-Request an den Server mit nem String. den lese ich dort aus im page load. falls der nicht nothing ist, möchte ich nen dialog haben wo etwas drinen steht, wie zb "Es wurden lokale daten gefunden die jetzt übertragen werden".

    Dann wird das in die db übertragen und wenn erfolgreich ein response zurück geschickt. mein problem ist jez das er den alert nicht ausführt.. aber nur inner halb des Request-Response teils. sonst führt er es schon aus.

    funktioniert das da allgemein nicht ?

    PAGE LOAD im asp.net:
    Code:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then
                Call ChooseDb.getDbType()
            End If
    
            'If IsNothing(Session("Benutzername")) Then
            '    Response.Redirect("login.aspx")
            'End If
    
    
            Dim responseText As String = ""
            Dim TklocalDataInsertion As Boolean = False
            Dim PtlocalDataInsertion As Boolean = False
    
            If Request.QueryString("TkStr") <> Nothing Or Request.QueryString("PtStr") <> Nothing Then
     startScriptFunction("dialogOutput(Es wurden lokale Daten gefunden, die jetzt übertragen werden');")
                Response.ClearHeaders()
                Response.Clear()
    
                Dim db As Database = Current.Session("database")
                If Request.QueryString("TkStr") <> Nothing Then
                    If db.Connect() = True Then
                        If db.SaveLocalTk(Page.Request.QueryString("TkStr")) Then
                            TklocalDataInsertion = True
                            startScriptFunction("removeFromLocalStorage('TkStr');")
                        End If
                    Else
                        startScriptFunction("dialogOutput('Es konnte erneut keine Verbindung zur Datenbank hergestellt werden. Die Daten werden zur späteren Übertagung lokal gespeichert');")
                    End If                
                End If
                If Request.QueryString("PtStr") <> Nothing Then
                    If db.Connect() = True Then
                        If db.SaveLocalPt(Page.Request.QueryString("PtStr")) Then
                            PtlocalDataInsertion = True
                            startScriptFunction("removeFromLocalStorage('PtStr');")
                        End If
                    Else
                        startScriptFunction("dialogOutput('Es konnte erneut keine Verbindung zur Datenbank hergestellt werden. Die Daten werden zur späteren Übertagung lokal gespeichert');")
                    End If                
                End If
    
                If TklocalDataInsertion = True Then
                    responseText += " Arbeitszeiten erfolgreich übertragen."
                Else
                    responseText += " Fehler bei Arbeitszeitenübertragung !"
                End If
    
                If PtlocalDataInsertion = True Then
                    responseText += " Projektzeiten erfolgreich übertragen."
                Else
                    responseText += " Fehler bei Projektzeitenübertragung !"
                End If
    
                Response.Write(responseText)
                Response.End()
            End If
    
            Dim fileName As String = Request.ServerVariables("script_name").Replace("/", "")
            startScriptFunction("getFromLocalStorage('TkStr', 'PtStr', '" & fileName & "');")
        End Sub
    JS:
    Code:
    function SendDataToServer(TkStr, PtStr, fileName) {
        try {
            var request = new XMLHttpRequest();
            request.open('GET', fileName + '?TkStr=' + TkStr + "&PtStr=" + PtStr, false);
            request.onreadystatechange = function () {
                if (request.readyState == 4) {
                    if (request.status == 200) {
                        alert(request.responseText);
                    }
                    else {
                        alert('Error Occurred!' + fault);
                    }
                }
            }
            request.send();
        }
        catch (err) {
            alert('Error Occurred!' + err.ErrorNumber + " - " + err.Description + " - " + err.Message)
        }
    }
    
    function dialogOutput(text) {
        alert(text);
    }

  • #2
    Pack dein JavaSkript noch mal in Response

    Code:
    If (Request.QueryString("TkStr") <> Nothing)
    {
    Response.Write("&lt;script language='javascript'>alert('Die Daten sind gefunden');return false;</script>");
    }
    else
    {
    Response.Write("<script language='javascript'>alert('Keine Verbindung');return false;</script>");
    }
    Oder man kann JS in eine JS-Datei auslagern und dann mit aspx einbinden und in Response auslesen. Dann hast du dein Java Skript nur ein mal
    Zuletzt editiert von vadym voytas; 21.04.2011, 23:45.
    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

    Comment

    Working...
    X