Created
May 4, 2016 10:42
-
-
Save anonymous/313b68b31de00cb4dc0816eede678131 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
前端的代码: | |
<script type="text/javascript"> | |
$(document).ready(function () { | |
$("#submitInfo").click(function () { | |
var form = $("#login_form"); | |
var data = { | |
username: form.find("#inputUsername").val(), | |
password: hex_md5(form.find("#inputPassword").val()) | |
} | |
$.ajax({ | |
type: 'post', | |
url:'/signin', | |
data: data, | |
success: function(data) { | |
console.log('success'); | |
console.log(JSON.stringify(data)); | |
} | |
}) | |
}); | |
}); | |
</script> | |
后端express的代码: | |
''' | |
router.post('/', function (req, res, next) { | |
console.log(req.body); | |
controller.user.username = req.body.username; | |
controller.user.password = req.body.password; | |
controller.user.isRemember = req.body.isRemember; | |
controller.api = new client(controller.user.username, | |
controller.user.password); | |
//res.json(req.body); | |
controller.api.getAccessToken(function (token, err) { | |
if (!err) { | |
res.json({success:1}); | |
console.log(token); | |
} else { | |
res.json({error:err}); | |
console.log(err); | |
} | |
}); | |
}); | |
getAccessToken需要访问其他的url。 |
HTML代码(保存到 www目录, 文件名为 index.html):
<form action="" id="login_form">
<input type="text" id="inputUsername" value="name" />
<input type="text" id="inputPassword" value="passsss" />
<input type="button" value="submit" id="submitInfo" />
</form>
<script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#submitInfo").click(function () {
var form = $("#login_form");
var data = {
username: $("#inputUsername").val(),
password: ($("#inputPassword").val())
};
$.ajax({
type: 'post',
url:'/signin',//你在 v2ex 上发的代码里, 这个地方并不是请求的你 nodejs 中监听的 路由, 所以这里要改成 /sigin
data: data,
success: function(data) {
console.log('success');
console.log(JSON.stringify(data));
}
});
return false;
});
});
</script>
//NPM执行的命令
npm install express
npm install body-parser
nodejs 的代码
app.js
var express = require('express');
var router = express();
var bodyParser = require('body-parser');
//伪造你的那个 Controller
var controller = {
user:{},
api:{
getAccessToken:function(cb){
setTimeout(function(){
cb('token....');
}, 400);
}
}
};
router.use(express.static('www'));
router.use(bodyParser.json()); // for parsing application/json //必须, 否则你在 使用 req.body 的时候, 得到的是 undefined
router.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
router.post('/signin', function(req, res, next) {
console.log(req.body);
controller.user.username = req.body.username;
controller.user.password = req.body.password;
controller.user.isRemember = req.body.isRemember;
//controller.api = new client(controller.user.username, controller.user.password);
//res.json(req.body);
controller.api.getAccessToken(function(token, err) {
if (!err) {
res.json({
success: 1
});
console.log(token);
} else {
res.json({
error: err
});
console.log(err);
}
});
});
var server = router.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
以上代码亲测 是可行的.
代码没问题,把你报错的详细信息发上来。
router.post('/', function (req, res, next)
路由配错了?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
always error first in nodejs.
controller.api.getAccessToken(function (error, token) {