2016-05-24 4 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="..." ...に変更すると、ブラウザはPOSTでフォームデータを送信します。

次に、request.bodyには探している情報がありますが、文字列ではありませんがストリームなので、見るのは少し難しいです。あなたのためにこれらのものを解析するより高いレベルのツールとしてexpressを見てください。

+0

ありがとうございます。私は急いで見ていきます。私は、 "post"メソッドを見ていましたが、後の情報をどのように抽出できるか完全に理解していませんでした。 – liamw9

+1

F12開発ツール(ブラウザのF12を押してください)を見て、リクエスト/ブラウザから送信されます。 Windowsの場合、Fiddlerもそれを見るための素晴らしいツールです。 – robrich

関連する問題