Nodejs Error: Can't set headers after they are sent错误解决

来源:互联网 发布:淘宝网首页全屏代码 编辑:程序博客网 时间:2024/06/04 19:12

一、问题说明

        在请求时 ,出现这种问题,一定是因为,浏览器请求一次之后,服务器却返回两次及两次以上的响应。

这种容易发生在异步回调中:

Movie.fetch(function (err,movies) {    if(err) {       res.redirect('/')    }                res.render('index',{            title:'首页',            movies:movies        });   });
       如果fetch抛出错误,服务器返回重定向的响应,但是后面又再一次返回另一个响应。此时将出现:

 Error: Can't set headers after they are sent


 二、解决方案

        在每次的请求处理中,一旦服务器返回响应,就即使的使用return,避免出现一次请求后,返回两次响应。

Movie.fetch(function (err,movies) {    if(err) {       return res.redirect('/')    }                res.render('index',{            title:'首页',            movies:movies        });   });

阅读全文
0 0