javascript - 在koa中post请求中接收不到页面传到的值
本文介绍了javascript - 在koa中post请求中接收不到页面传到的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.在学习koa的时候用koa-generator生成的项目,里面自带了koa-bodyparser。但是我在使用post请求的时候发现页面传过来的值接收不到,去查了api也没找到什么问题。
相关代码
app.js
bodyParser = require('koa-bodyparser');
app.use(bodyParser());
new.ejs
<form class="form-horizontal" action="/users/create" method="post">
<div class="form-group">
<label for="email" class="col-sm-2 control-label">邮箱</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" placeholder="邮箱" value="<%= user.email %>">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">提交</button>
<a href="/users" class="btn btn-default">返回</a>
</div>
</div>
</form>
//users.js 路由
var router = require('koa-router')();
var mongoose = require('mongoose');
var User = mongoose.model('User');
router.get('/', list);
router.get('/new', add);
router.post('/create', save);
function *add(next) {
yield this.render('/users/new', {
title: '添加用户',
user: {
email: '',
nickName: '',
password: '',
gender: 0,
phone: 1,
imgUrl: '',
address: ''
}
});
}
function *save(next) {
console.log(this.request.body);
var user = this.request.body;
user.createTime = new Date;
user.lastLogin = new Date;
var id = users.push(user)
users.id = id - 1;
this.redirect('/users');
}
附上依赖
{
"name": "node-koa",
"version": "0.1.2",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"co": "^4.6.0",
"debug": "^2.2.0",
"ejs": "~2.3.3",
"koa": "^1.1.2",
"koa-bodyparser": "^2.2.0",
"koa-json": "^1.1.1",
"koa-logger": "^1.3.0",
"koa-mongoose": "^1.0.9",
"koa-onerror": "^1.2.1",
"koa-router": "^5.3.0",
"koa-static": "^1.5.2",
"koa-views": "^3.1.0",
"mongoose": "^4.4.19",
"uuid": "^2.0.2"
},
"devDependencies": {
"koa-webpack-dev-middleware": "^1.2.1",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1"
}
}
3.错误(点击看git动态图)
error
4.项目放在github上
node-koa
解决方案
<input type="email" class="form-control" id="email" placeholder="邮箱">
<select name="gender" id="gender" title="">
try
<input type="email" class="form-control" name="email" id="email" placeholder="邮箱">
这篇关于javascript - 在koa中post请求中接收不到页面传到的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文