wie mehrere Argumente onSuccess Funktion in Prototype passieren?
-
19-09-2019 - |
Frage
Ich bin ein Anfänger im Umgang mit Prototype-Bibliothek. Ich möchte wissen, wie wir mehrere Argumente zu onSuccess / onFailure Funktion in Prototype passieren können? Zum Beispiel: -
new Ajax.Request('testurl',{
method: 'post',
parameters: {param1:"A", param2:"B", param3:"C"},
onSuccess: fnSccs,
onFailure: fnFail
})
In meinem Erfolg Funktion fnSccs: -
function fnSccs(response)
{
alert(response.responseText);
}
Ich möchte ein neues Argument fnSccs Funktion zu übergeben. Wie ist das möglich. Vielen Dank für jede Hilfe.
Lösung
Sie können Ihren Erfolg Funktion in eine andere wickeln, die den gewünschten Parameter recieves und gibt Ihre alte Funktion zurück:
new Ajax.Request('testurl',{
method: 'post',
parameters: {param1:"A", param2:"B", param3:"C"},
onSuccess: mySuccess('myValue1', 'myValue2'),
onFailure: fnFail
})
function mySuccess(param1, param2){
return function(response){ // Your old success function
alert(param1); // The parameter still accessible here
alert(param2);
alert(response);
}
}
Was passiert, ist, dass, wenn Sie anrufen mySuccess(...)
Ihre alte Funktion zurückgegeben wird, aber Sie haben noch Zugriff auf die Parameter haben, weil die Variablen auf der äußeren Schließung .
Sie können prüfen, der Lauf Schnipsel hier .
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow