Play 2.x: So stellen Sie eine AJAX-Anfrage mit einem gemeinsamen Button
So habe ich erfolgreich Ajax-Anfragen erhalten, um zu arbeiten, aber ich musste immer ein Formular verwenden, und dann am Ende des Submit-Vorgangs false zurückgeben, damit die Seite nicht aktualisiert wird.
Ich habe auch erst kürzlich mein Javascript in eine separate Datei verschoben, was dazu geführt hat, dass meine @ -Befehle fehlgeschlagen sind. Aus diesem Grund weiß ich nicht, wie ich meine URL auf meine Route einstellen soll?
HTML:
<button id="saveAsDefaultButton">Save as default</button>
Java-Code für das Playframework:
public static Result saveDefaultPhoneForUser(String handset) {
User currentUser = User.findByName(session("name"));
currentUser.lastControlledHandset = theHandset;
currentUser.save();
return ok();
}
Routen:
POST / controllers.Application.saveDefaultPhoneForUser(handset : String)
Javascript:
$('#saveAsDefaultButton').click(function(evt) {
$('#errors').hide();
$.ajax({
type : 'POST',
url : "controllers.Application.saveDefaultPhoneForUser",
data : $('#controlledPhone option:selected').text(),
dataType : "text",
success : function(data) {
//setError('Call succedded');
//$('#test1').attr("src", data)
},
error : function(data) {
setError('Make call failed');
}
});
return false;
});
Ich bin mir sicher, dass es einen Weg gibt, dies zu tun. Ich habe einfach kein Glück, etwas zu finden. Jede Hilfe sehr geschätzt.