ホームページ >ウェブフロントエンド >jsチュートリアル >Nodejs での http フォーム送信の例
この記事では主にNodejsのhttpフォーム送信について詳しく紹介していますので、興味のある方は参考にしてください
以前紹介したhttpモジュールのリクエストとレスポンスの処理も紹介しています。 http プロトコルは、TCP プロトコルのクライアントとサーバー間のデータ伝送です。ここでは、偉大な Node.js 書籍にまとめられているように、簡単な Web サーバーを作成し、送信されたフォーム データを処理します。
フォームデータを送信するためのPOSTメソッド
リクエスト情報はすべてクエリstringに含まれています。リクエストボディはなく、POST メソッドを使用します。送信されるデータはリクエストボディに含まれるため、フォームデータを送信する際には POST メソッドを使用する必要があります。
//提交表单数据 var http=require('http'); var querystring=require('querystring'); var server=http.createServer(function (req,res) { //req.url不同则返回的页面不同 if('/'==req.url){ res.writeHead(200,{'Content-Type':'text/html'}); res.write([ '<form method="post" action="/url">', '<h1>My Form</h1>', '<fieldset>', '<label>Personal Information</label>', '<p>What is your name?</p>', '<input type="text" name="name">', '<button>submit</button>', '</form>' ].join('')); res.end(); }else if('/url'==req.url&&req.method=='POST'){ var reqBody=''; req.on('data',function (data) { reqBody += data; }); req.on('end',function () {//用于数据接收完成后再获取 res.writeHead(200,{'Content-Type':'text/html'}); res.write('you have sent a '+req.method+' request\n'); res.write('<p>Content-Type:'+req.headers['content-type']+'</p>' +'<p>Data:your name is '+querystring.parse(reqBody).name+'</p>'); res.end(); }) }else{ res.writeHead(404); res.write('Not Found'); res.end(); } }).listen(3000,function () { console.log('server is listening 3000'); });データを取得するにはPOSTメソッド内の情報がリクエストボディに含まれているため、送信後はリクエストボディを取得する必要があります。ここで、データの受信が完了した後に実行する必要があることを意味します。データを操作するには、リクエスト情報が転送されたかどうかを監視するために終了イベントをバインドする必要があります。
以上がNodejs での http フォーム送信の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。