express 应用$.ajax()请求,会报错Can't set headers after they are sent.
app.js
var express = require('express');
var app = express();
var userDao = require('./dao/userDao');
app.post('/addUSer',userDao.add);
dao/userDao.js
var mysql = require('mysql');
var $conf = require('../conf/db');
var $util = require('../util/util')
var $sql = require('./userMapping');
var pool = mysql.createPool($util.extend({},$conf.mysql));
var jsonWrite = function(res,ret){
if(typeof ret === 'undefined'){
res.json({
code:'1',
msg:'操作失败'
})
}else{
res.json(ret)
}
};
module.exports= {
add:function(req,res,next){
pool.getConnection(function(err,connection){
// 获取传来的数据
console.log(req.body)
var param = req.query || req.params;
// 向表里插值
connection.query($sql.insert,[param.username,param.password,param.citycode],function(err,result){
if(result) {
result = {
code: 200,
msg:'增加成功'
};
}
// 以json形式,把操作结果返回给前台页面
jsonWrite(res, result);
// 释放连接
connection.release();
})
})
}
}
ajax
$('#queryUser').click(function(event) {
/* Act on the event */
$.ajax({
url:'/addUser',
type:'POST',
dataType: "json",
data:{
'username':'aaa',
'password':'20170217',
'citycode':'024'
},
success:function(data){
console.log(data);
}
})
});
点击按钮发送ajax请求后,会报错,但是会走ajax中的success,返回data为操作失败
报错信息
Error: Can't set headers after they are sent.
post发送的请求,不使用bodyParser中间件,能解析出请求的数据?