Hi,
ich möchte im Backend ein Element bearbeiten. Dieses möchte ich via Ajax speichern ohne das die Seite Reloaden soll. Dies fange ich per jQuery ab und übergebe Daten per Ajax an die in der Form vorhanden Action URL.
Soweit funktioniert alles, jedoch hat Contao irgendwie ein Problem. Selbe URL, genau die selben überlieferten Post-Daten, aber unterschiedliche Ergebnisse. Ohne Ajax läuft alles normal, mit Ajax kriege ich aber folgende Fehlermeldung:
Missing Ajax action
HTML-Code:
<script>
jQuery.noConflict();
(function($) {
$(document).on('click','form button[type=submit]',function(e){
$("button[type=submit]").removeAttr('clicked');
$(this).attr("clicked", "true");
});
$(document).on('submit','form',function(e){
e.preventDefault();
$.ajax({
method: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize()+"&"+$("form button[clicked=true]").attr('name')+"=",
contentType: $(this).attr('enctype'),
success: function (data) {
$('#main').html(main_content);
}
});
});
})(jQuery);
</script>
Worauf muss ich achten? Fehlt etwas im "Header"? Oder doch in der URL?
Folgendes hab ich auch ausprobiert: Sobald "contentType: false" eingetragen ist, werden zwar keine Daten übermittelt, bekomme dafür aber keine Fehlermeldung mehr. Es muss also etwas in der Verarbeitung der Formular passieren. Die Post-Daten sind genau die selben.
Lesezeichen