Ich bin neu in Ember & Ich versuche, Aktion zu einer Route in meiner App senden,
Aber ich möchte die Aktion von AJAX Antwort senden, weil ich auch die eingefügte ID aus der benötigen
Server Also versuche ich zu tun:Aktion von Ajax Antwort mit Ember senden
$.ajax({
method: "POST",
url: "in",
data: datajson,
success: function (result) {
data.id = result.id;
self.sendAction('action', data);
}
});
self
eine globale Variable ist, dass ich es den Wert von this
der Komponente zuweisen.
Nun ist es nicht funktioniert, nichts mit dem Router
Aber wenn ich die sendAction
Die Funktion der „Vater“ Route trigerred ist
EDIT1 aus dem Ajax-Erfolg Funktion setzen gesendet:
Die Vorlagen sind:
<script type="text/x-handlebars" data-template-name="in/income">
{{create-in classes=model action="addIn"}}
</script>
<script type="text/x-handlebars" data-template-name="in/expend">
{{create-in classes=model action="addIn"}}
</script>
Die Code js Komponente:
App.CreateInComponent = Ember.Component.extend({
classNames: ['fixed'],
sum:null,
cllass: null,
d:null,
actions: {
create: function (classes) {
var classe = this.get('cllass');
var sum = this.get('sum');
des = classes.filterBy('id', classe)[0].des;
self = this;
data = {sum: sum, class: classe, date: this.get('d')};
var dataJSON = JSON.stringify(data);
data.des = des;
$.ajax({
method: "POST",
url: "in",
data: dataJSON,
success: function (result) {
data.id = result.id;
this.sendAction('action', data);
}
});
}
}
});
Also was kann ich tun?
(ich benutze Ember 1,10)
EDIT2:
ich an einer Lösung dachte, meine Lösung ist die Aktion an den Router und es machen Ajax-Aufruf an den Server zu senden und dann das Einfügen zu modellieren die Daten
Mein Code in den Router-Handler:
addIn: function (dataJSON) {
self = this;
$.ajax({
method: "POST",
url: "in",
data: dataJSON,
success: function (result) {
data.id = result.id;
self.get('model').pushObject(Ember.Object.create(data));
}
});
}
Aber ich habe diesen Fehler in der Konsole:
(index):265 Uncaught TypeError: self.get(...) is not a function
Ich versuche zu suchen und ich fand, dass ich .toArray
Funktion nach der Methode get, aber seine dosent Arbeit entweder
Was zu tun, hinzufügen muß?
können Sie zeigen Vorlage und zeigen, wie fügen Sie Komponente Vorlage? –
@MirzaMemic Ich bearbeite meine Frage, bitte schauen Sie sich beide Bearbeitungen an, danke. –
Bitte geben Sie auch den JS-Code der Komponente an. Danke –