Tach!
xhr.open('POST', '/buildings/'+ id , true); // method-override needs it to be POST xhr.setRequestHeader('X-HTTP-Method-Override', 'PUT');
Mir scheint, du hast dich ganz schön verwirren lassen. Es gibt nur ein Problem, wenn du ein HTML-Formular mit anderen Methoden als GET und POST auf direktem Wege absenden möchtest. Hingegen haben moderne Browser überhaupt kein Problem, Ajax-Requests mit den anderen Methoden (PUT/DELETE) abzusenden. Für Ajax brauchst du also keine Verrenkungen, solange nicht Uralt-Browser bedient werden müssen.
dedlfix.