2015-01-03 72 views
0

我正在使用node.js進行基本的表單處理任務。閱讀html文件輸入併發送到node.js進行處理

加載html文件,但是當我提交表單時,它無法處理。

這裏是我現在正在運行的代碼:

formhandling2.js

var express = require('express'); 
var bodyParser = require('body-parser'); 
var app = express(); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

app.get('/', function(req, res){ 
res.sendfile('peanuts.html'); 

app.post('/myaction', function(req, res){ 
var userName = req.body.userName; 
res.send ('Hello: ' + userName + '.<br>' + '<a href="/">Try again.</a>'); 
res.sendfile('peanuts.html'); 
}); 

app.listen(80); 

peanuts.html

<html> 
    <head> 
     <title>Forms></title> 
    </head> 
    <body> 
     form action="/myaction" method="post"> 
     <p>Enter your name:</p> 
     <input type="text" name="userName" placeholder="..." /> 
     <br> 
     <button type="submit">Submit</button> 
    </body> 
</html> 
+0

爲什麼你有一個無效的HTML文件? (peanuts.html) –

+0

「無法處理」是什麼意思?錯誤信息還是什麼? – mscdex

回答

0

你有一個語法錯誤,你的服務器文件

var express = require('express'); 
var bodyParser = require('body-parser'); 
var app = express(); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

app.get('/', function(req, res){ 
res.sendfile('peanuts.html'); 
}) 
app.post('/myaction', function(req, res){ 
var userName = req.body.userName; 
res.send ('Hello: ' + userName + '.<br>' + '<a href="/">Try again.</a>'); 
res.sendfile('peanuts.html'); 
}); 

app.listen(80); 

請參閱上文,在res.sendfile('peanuts.html')之後,您必須關閉})括號。

那麼你有html語法錯誤你還沒有開始形式標記。下面

<html> 
    <head> 
     <title>Forms></title> 
    </head> 
    <body> 
     <form action="/myaction" method="post"> 
     <p>Enter your name:</p> 
     <input type="text" name="userName" placeholder="..." /> 
     <br> 
     <button type="submit">Submit</button> 
    </body> 
</html> 

一切正確的代碼工作不錯,我測試一次固定