SendAndLoad problem via asp.net

WaZZkeSS

Erfahrenes Mitglied
Hallo allerseits!

Ich versuche das beispiel von der folgenden Seite nach zu machen.
http://www.netrostar.com/Tutorials-...w to send data to ASP.NET and read the answer

Da meine kenntnisse mehr in ASP liegen weiss ich das seitens ASP das so funktionieren müsste, nur das ergebniss was ich im Flash bekomme ist undefined.
Jetzt meine Frage ob jemand damit erfahrung hat bzw. mir sagen könnte was ich falsch gemacht habe oder übersehen.

Ich danke im vorhinein und noch einen schönen Abend an alle
WaZZkeSS
 
Die Frage ist eher wie du es überhaupt gemacht hast - ohne zu sehen was du gemacht hast können wir ja schlecht sehen was daran falsch ist.

Das alles natürlich angenommen das verlinkte Tutorial enthält keine dahingehenden Fehler.
 
... es ist eins zu eins wie das Tutorial.
Ein leeres Projekt in ASP erstellt und ein leeres Projekt in Flash.
Über ASP bekomme ich auch den Wert aber ein Rückgabewert an Flash zu senden
lief schief (undefined).
 
Hallo,

bin in Flah auch nicht der Meister, aber was mir aufgefallen ist, ist die Variable "result_lv".
Dieser wird niergens definiert bzw. deklariert. du gibst das Objekt "MailObj" mit, also solltest du
auch das result-Ergebnis von dieser Variable ansprechen und nicht von result_lv.

Code:
var myLoadVar:LoadVars=new LoadVars();   
var mail:String;   
var result:String;   
  
btnSendAndLoad.onRelease=function(){   
    var MailObj:LoadVars=new LoadVars();   
    MailObj.onLoad=function(Success){   
        if(Success){   
            lblResult.text=result_lv.result;   
        }   
    }   
  
    myLoadVar.mail =txtMail.text;   
    lblResult.text="Loading...";    
    myLoadVar.sendAndLoad("MailManager.aspx", MailObj, "GET");   
}


Lg ksk
 
Sorry das ich den Beitrag nochmals her hole aber irgendwie verstehe ich folgendes nicht ganz.
Das Objekt "MailObj.result" beinhaltet den Wert failed, und beim vergleich auf ungleichheit
wird true zurück geliefert. Es werden die Codes in der Bedingung ausgeführt statt darüber zu gehen.
Habe mittlerweile so ziehmlich vieles schon probiert. Hilfe gelesen gegoogelt usw.
Am nützlichsten war diese Seite
http://www.flashforum.de/forum/actionscript-1/strings-vergleichen-197901.html
Auch mit der toString-Methode (mit oder ohne Klammern), oder eine variable vom Typ Object definiert
und diese mit dem Objekt MailObj.result, oder beide Werte einer Variable vom Typ String übergeben
und verglichen und auch hier leider kein Erfolg.
Langer Rede kurzer Sinn, obwohl die Vergleichswerte gleich sind wird false ausgegeben.

Code:
var myLoadVar:LoadVars=new LoadVars();   
var mail:String;   
var result:String;   
  
btnSendAndLoad.onRelease=function(){   
    var MailObj:LoadVars=new LoadVars();   
    MailObj.onLoad=function(Success){   
        if(Success){   
            if (MailObj.result != "failed") // liefert true obwohl MailObj.result auch den gleichen Wert beinhaltet
        }   
    }   
  
    myLoadVar.mail =txtMail.text;   
    lblResult.text="Loading...";    
    myLoadVar.sendAndLoad("MailManager.aspx", MailObj, "GET");   
}

Wäre für eine Erklärung sehr sehr dankbar.

Lg
 
Gib den Wert von MailObj.result doch mal per trace oder in ein Textfeld aus. Was genau gibt der denn an?

obwohl die Vergleichswerte gleich sind wird false ausgegeben.

Das ist auch der Sinn eines Vergleichs mit !=. Wenn du Gleichheit testen willst, dann nimm ==.

PHP:
("a" == "a") = true
("a" == "b") = false

("a" != "a") = false
("a" != "b") = true
 
PHP:
("a" == "a") = true
("a" == "b") = false

("a" != "a") = false     // UND GENAU HIER WIRD TRUE GELIEFERT WARUM
("a" != "b") = true

Hallo Jens, danke vorerst für deine schnelle Antwort. Ob ich die Bedingung mit einem Gleichheits-Operator oder
mit einem Ungleichheits-Operator mache ist glaube ich nicht das problem. Sondern eher wie es verglichen wird.
Bewerkstelligen möchte ich folgendes. Die Index.html soll nur dann aufgerufen werden wenn der Rückgabewert von asp NICHT "failed" ist. Leider wird die Seite auch aufgerufen wenn ich das so
"!=" und so "==" vergleiche.
Code:
if (MailObj.result != "failed"){
getURL("Index.html");
}else{ }
Lg
 
Ich kann mich nur wiederholen (irgendwie heute schon den ganzen Tag): Gib den Wert von MailObj.result doch mal per trace oder in ein Textfeld aus. Was genau gibt der denn an?
 
Hallo,

@ Jens B.
... kann mir nicht vorstellen das man mit trace in einer ASP-Seite was ausgeben kann, und in
Flash kann man sowas nicht gscheit Testen.

@WaZZkeSS
... probier mal den Wert an ein String-Objekt zu geben diesen nach einem Zeichen zu teilen.
Bsp.: Rückgabewert von ASP sollte nicht "result=failed" sein sondern "result=failed;Test".
Denn dann kannst auf die Länge vom Array prüfen statt daas Objekt.

Code:
var my_str:String = MailObj2.result2;
var my_array:Array = my_str.split(";", 2);
if (my_array.length == 2) {
    // mach was auch du immer willst


Lg ksk
 
Zurück