Guten Abend,
ich versuche gerade per Ajax Informationen von einem eigenen Frontend Controller nachzuladen. Leider erhalten ich jedoch immer nur die Meldung 503 (Service Unavailable), bzw. eine Smarty-Fehlermeldung das mir die entsprechende tpl (sw_article.tpl) fehlen würde. Aber ich möchte ja kein neues Template laden, sondern einfach nur ein paar Daten nachladen nachdem der Benutzer das Drop-Down verändert hat.
Hier mal meine beteiligten Klassen:
Frontend Controller:
Request()->getParam('group', []);
$this->View()->selection = $selection;
}
}
Jquery mit Ajax aufruf
$.overridePlugin('swAjaxVariant', {
onChange: function(event) {
var $form = $(event.target).parents('form');
var exist = true;
var values = {};
$.each($form.serializeArray(), function(i, item) {
if (item.name === '__csrf_token') {
return;
}
values[item.name] = item.value;
$(event.target.options).each(function(){
if(item.value == $(this).val()) {
if($(this).attr("noVariant")) {
exist = false;
}
}
});
});
if(exist) {
this.superclass.onChange.apply(this, arguments);
} else {
$.ajax({
url: "http://localhost/shopware/SwArticle/index",
data: values,
method: 'GET',
success: function(result, data) {
console.log(result);
console.log(data);
}
});
}
}
});
Vielleicht kann mir jemand erklären wie ich dies richtig machen muss. Leider hab ich nichts dazu gefunden.