Uri: Einzelne items mit put updaten Expressjs

Beitrag lesen

hi, ja, mir ist die Sache auch etwas unklar. Ich habe gestern mein edit-template kopiert nach der Vorlage von pl mit dem File-upload probiert es umzusetzen.

ich habe jetzt kein formular, dafür ein button mit onclick-attr und input-felder:

button( onClick="up()" class="btn btn-primary" id="submit") Submit

und mein ajax sieht dann so aus:

function up(){
  
    var json = {...}
            
    var containsID=reverseString($(location).attr('href')).split("/");
    var id = containsID[1];
    var xhr = new XMLHttpRequest();
    xhr.open('PUT', '/buildings/'+ id , true);
    
    xhr.send(JSON.stringify(json));
}

Wenn ich das mache, wird ein request rausgeschickt. Die entwicklerconsole des browsers zeigt Status 200 und mein json, den ich im request mitgeschickt habe. Serverseitig wird die funktion app.put() aufgerufen.

Allerdings wird da wie zuvor 1. keine response vom server geschickt und zweitens ist der body vom Request, der beim Server ankommt leer.

app.put("/buildings/:id", function(req,res){
  console.log("you got a put Method"); //Ausgabe: you got a put Method
  console.log(req.body);               // Ausgabe: {}
  res.send('PUT');                     // wird nicht ausgeführt

});

Ich bekomme jetzt keine 404, aber dafür bleib ich nach dem senden auf meiner edit-Seite.

Ich habe darauf nochmal rumprobiert und festgestellt, dass mein body auch beim server leer ankommt, wenn ich form verwende und POST mit put überschreibe.

Gruß uri