Hier ist nochmal der vollständige Header:
vary:X-HTTP-Method-Override
Nö, nicht vom Client. Da würde das nämlich so aussehen:
X-HTTP-Method-Override: PUT
Du selbst hast keinen vary-Header veranlasst sondern einen proprietären Header der mit X- beginnt gesendet und dieser würde serverseitig in eine CGI/1.1 Umgebungsvariable
'HTTP_X_HTTP_METHOD_OVERRIDE' => 'PUT',
gesetzt werden. Wer auch immer was mit diesen Header anfangen will muss es serverseitig tun. Du präsentierst uns hier die Header eines Proxyservers der entsprechend konfiguriert ist. Das hat mit Deiner Anwendung überhaupt nichts zu tun!
Und mein AJAX habe ich jetzt im submit-event handler drin, aber wo ich false zurückgeben soll und was der handler für den load-event machen soll, habe ich jetzt nicht ganz verstanden. Ich habe das jetzt testweise in mein code kopiert, aber es hatte nichts in die Console geloggt.
$('document').ready(function(){ var containsID=reverseString($(location).attr('href')).split("/"); var id = containsID[1]; $("form").submit( function(event){ var xhr = new XMLHttpRequest(); xhr.open('POST', '/buildings/'+ id , true); // method-override needs it to be POST xhr.setRequestHeader('X-HTTP-Method-Override', 'PUT'); xhr.send(); //xhr.onload = function(){ //console.log(this.status, "\n", this.response); //}; }); });
Dein Request geht gar nicht raus!
MfG