2016-05-24 2 views
1

У меня есть веб-сайт с разделом, который позволяет пользователю войти в систему. Как только пользователь ввел свои данные и нажал «войти в систему», как бы получить эту информацию из запроса сервера для обработки? Тем не менее, я знаю о методе «get», всякий раз, когда я его использую, все значения из формы отображаются в URL-адресе (включая пароль).Как обрабатывать данные из формы на сервере (узел js)?

Вот функция из файла сервера, который имеет дело с просьбой

function handle(request, response) { 
    var url = request.url; 
    url = removeQuery(url); 
    url = lower(url); 
    url = addIndex(url); 

    var querystring = require('querystring'); 
    var params = querystring.parse(require('url').parse(request.url).query); 

    if (! valid(url)) return fail(response, NotFound, "Invalid URL"); 
    if (! safe(url)) return fail(response, NotFound, "Unsafe URL"); 
    if (! open(url)) return fail(response, NotFound, "URL has been banned"); 

    var type = findType(url); 
    if (type == null) return fail(response, BadType, "File type unsupported"); 
    if (type == "text/html") type = negotiate(request.headers.accept); 
    reply(response, url, type); 
} 

В принципе, как я могу получить информацию из формы без него быть видимым в URL?

+1

Браузер должен сделать запрос POST. 'request' должен иметь метод для получения * body * запроса, который вы можете проанализировать. –

+0

Спасибо. Какой метод я использовал бы, чтобы получить тело запроса? – liamw9

ответ

2

Первая остановка: сменить <form action="..." ... на <form method="POST" action="..." ..., чтобы браузер отправил данные формы в ПОЧТУ.

Вперед, request.body имеет информацию, которую вы ищете, хотя это не строка, это поток, поэтому на это немного сложно смотреть. Посмотрите на express как инструмент более высокого уровня, который проанализирует эти вещи для вас.

+0

Спасибо. Я буду смотреть в экспресс. Я видел упомянутый метод «post», однако я не совсем понял, как я мог извлечь информацию, полученную после – liamw9

+1

. Посмотрите на инструменты разработчика F12 (например, нажмите F12 в своем браузере), чтобы увидеть запрос/ответ браузер отправляет. Если вы работаете в Windows, Fiddler - отличный инструмент для его просмотра. – robrich