用node.js抓取不了前端表单的数据,哭哭哭
这是node.js代码
var http=require("http");
var url=require("url");
var dns=require("dns");
var fs=require("fs");
var querystring=require("querystring");
var postdata="";
http.createServer(function(req,res){
req.setEncoding("utf8");
//var readPath=dirname+"/"+url.parse('a.html').pathname;
var pathname=url.parse(req.url).pathname;
if(pathname==="/"){
res.writeHead(200,{'Content-Type':'text/html'});
var indexpage=fs.readFileSync("a.html");
//console.log(indexpage);
res.end(indexpage);
}
if(pathname==="/about"){
res.writeHead(200,{'Content-Type':'text/plain'});
req.addListener("data",function(chunk){
if(chunk){
postdata+=chunk;
console.log(chunk);
}
else
console.log("no data emit")
});
req.addListener("end",function(postdata){
var a=querystring.parse(postdata);
console.log(postdata)
console.log(a);
res.end(a.text);
});
}
console.log("Server has been running on port 3000");
}).listen("3000","127.0.0.1");
这是HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="sinson">
</head>
<body>
<form action="/about" method="get">
<input type="text" name="text">
<input type="submit" value="提交">
</form>
</body>
</html>
求大神指教
你只处理了
body
部分的数据,然而前端的提交方法是get
...建议去了解一下
get
和post
的基本区别...修改之后的
app.js
a.html