javascript - express应用$.ajax()请求 会报错请求头重复?
黄舟
黄舟 2017-04-11 12:00:30
[JavaScript讨论组]

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.
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
巴扎黑

post发送的请求,不使用bodyParser中间件,能解析出请求的数据?

高洛峰

这个错误是说你一个请求发了两次res,你检查一下自己代码吧。多用return res.send();

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号