eine Ajax-Anforderung von JavaScript machen OnClick
-
05-07-2019 - |
Frage
Ich bin es gewohnt, die Hilfsmethoden link_to_remote und Freunde zu verwenden, Links oder Schaltflächen zu erstellen, die Ajax-Anfrage unter der Haube senden und einige Daten der Webseite aktualisieren.
Ich habe einige, die Hintergrundbilder Tasten sind. Ich möchte, dass sie Ajax Anfrage an meine Schienen-Server senden. Ich denke, ein JavaScript onClick + Ajax-Anfrage zu senden sollte die Magie tun, aber ich habe keine Ahnung, wie Prototype arbeitet unter der Rails-Hilfsmethode.
Ich hoffe, dies ist nicht eine Frage zu lahm
Lösung
Das Verfahren auf dem Element ist observe
Auch $()
vorausgesetzt, dass Sie eine ID verwenden. Wenn Sie eine Reihe von Schaltflächen getaggt mit Klassen, anstatt ids, könnten Sie $$()
verwenden, die einen CSS-Selektor nimmt und gibt ein Array von Elementen.
Sie könnten das Ergebnis aus, dass nehmen und über sie iterieren, Klickverhalten auf jede Schaltfläche Hinzufügen.
$$(".bg_button").each(function(button){
button.observe('click', function(){
new Ajax.Request(url, {
method: 'get',
parameters: { key: 'value' },
onSuccess: function(res){
// handle the result
}
});
});
});
Um mehr darüber zu erfahren, wie Prototyp funktioniert, schauen Sie sich ihre api docs . Ich denke, sie sind ziemlich gut.
Andere Tipps
$("my_button").observe('click', function(){
new Ajax.Request(url, {
method: 'get',
parameters: { "key": "value" },
onSuccess: function(res){
// handle the result
}
});
}
und das ist es.