jak wysłać tylko 200 odpowiedzi w express.js


Mam node.js 5.2.0, express 4.2.0 i groźny 1.0.17.
Stworzyłem prosty formularz do zapisania pola tekstowego i zdjęcia. Działa dobrze, ale problem w tym, że po załadowaniu danych widzę w konsoli, że POST jeszcze się nie skończył, nadal jest w toku.
Aby to zakończyć, dodałem to do mojego kodu
form.on('end', function() {
res.writeHead(200, {'Content-Type': 'text/plain'});
});

Chcę tylko wysłać nagłówki i nic na stronie. Chcę, aby system otrzymał odpowiedź
200 ok
bez konieczności drukowania czegokolwiek na stronie. Ale POST jest nadal w toku.
Jak to naprawić bez drukowania czegokolwiek? Jakie nagłówki mam wysłać?
podziękować
UPDATE
Jeśli to zrobię
form.on('end', function() {
res.end();
});

POST kończy się dobrze, ale pojawia się pusta strona. Dlaczego tak jest? Chcę tylko pobrać trochę rzeczy, nie drukować niczego na stronie, nie przekierowywać, pozostać na tej samej stronie.
Dzięki jeszcze raz
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Spróbuj tego zamiast tego:
res.sendStatus(200);

Lub jeśli chcesz nadal używać jawnie zdefiniowanych nagłówków, uważam, że w pewnym momencie powinno zostać wywołane
res.end ()
. Możesz zobaczyć, jak
res.end ()
jest używany w

Okropny przykład
https://github.com/felixge/node-formidable#example
.
Pusta strona jest najprawdopodobniej wynikiem przetwarzania formularza po stronie klienta. Możesz zmienić metodę przesyłania formularza i ręcznie przesłać wiadomość do usługi ekspresowej, aby zapobiec wyświetlaniu automatycznego przekierowania. Oto kilka innych

odpowiedzi stackoverflow
https://coderoad.ru/4038567/
na pytanie związane z przekierowaniem formularza. Odpowiedzi będą specyficzne dla jQuery, ale podstawowa idea pozostanie taka sama.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się