Mam node.js 5.2.0, express 4.2.0 i groźne 1.0.17.jak wysłać tylko odpowiedź 200 w node.js
Stworzyłem prosty formularz, aby zapisać pole tekstowe i zdjęcie. Działa dobrze, ale problem polega na tym, że po przesłaniu danych widzę w konsoli, że POST nie jest skończony, wciąż jest w toku.
Aby dokończyć Dodałem to do mojego kodu
form.on('end', function() {
res.writeHead(200, {'Content-Type': 'text/plain'});
});
Chcę wysłać nagłówki i nic na stronie. Chcę, aby system uzyskał odpowiedź 200 ok
bez konieczności drukowania czegokolwiek na stronie. Ale POST jest nadal w toku.
Jak to naprawić, bez konieczności drukowania czegokolwiek? Jakie nagłówki muszę wysłać?
Dzięki
UPDATE
jeśli zrobię
form.on('end', function() {
res.end();
});
POST kończy się normalnie, ale pojawia się pusta strona. Dlaczego? Chcę tylko przesłać kilka rzeczy, nie drukować niczego na stronie, nie przekierowywać, pozostać na tej samej stronie.
Dzięki ponownie
Dzięki. Z jakiegoś powodu otrzymuję 'res.sendStatus nie jest funkcją'. Sprawdź także moją aktualizację. Jeśli dodam 'res.end();' albo w 'form.on' lub' form.parse', nadal otrzymuję pustą stronę po przesłaniu. Czy możesz mi powiedzieć, dlaczego i jak to naprawić? – slevin
Hm. Czy jesteś pewien co do wersji ekspresowej? Oto link do ich [docs] (http://expressjs.com/en/api.html#res.sendStatus) do używania 'sendStatus()'. Może spróbuj '.status (200) .send (" OK ")'? Zaktualizowałem również moją główną odpowiedź dotyczącą pustej strony - kwestia ta jest najbardziej prawdopodobna po stronie klienta. – dvlsg
A tak, przekierowanie jest domyślnym zachowaniem, tylko dlatego, że używam węzła nic nie zmienia. Dziękuję bardzo, zaimplementuję do tego AJAX. – slevin