后我的代码:无法设置页眉他们派出
function tokenReceived(response, error, token) {
if (error) {
console.log("Access token error: ", error.message);
response.writeHead(200, {"Content-Type": "text/html"});
response.write('<p>ERROR: ' + error + '</p>');
response.end();
}
else {
var cookies = ['node-tutorial-token=' + token.token.access_token + ';Max-Age=3600',
'[email protected];Max-Age=3600'];
console.log("cookies: ", cookies);
response.setHeader('Set-Cookie', cookies);
response.writeHead(200, {"Content-Type": "text/html"});
response.write('<p>Access token saved in cookie.</p>');
response.end();
}
}
我的错误:
Error: Can't set headers after they are sent. at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:344:11) at tokenReceived (D:\node-tutorial\index.js:47:14) at D:\node-tutorial\authHelper.js:41:9 at tryCatcher (D:\node-tutorial\node_modules\bluebird\js\main\util.js:26:23) at Promise.successAdapter (D:\node-tutorial\node_modules\bluebird\js\main\nodeify.js:23:30) at Promise._settlePromiseAt (D:\node-tutorial\node_modules\bluebird\js\main\promise.js:579:21) at Promise._settlePromises (D:\node-tutorial\node_modules\bluebird\js\main\promise.js:697:14) at Async._drainQueue (D:\node-tutorial\node_modules\bluebird\js\main\async.js:123:16) at Async._drainQueues (D:\node-tutorial\node_modules\bluebird\js\main\async.js:133:10) at Immediate.Async.drainQueues [as _onImmediate] (D:\node-tutorial\node_modules\bluebird\js\main\async.js:15:14) at processImmediate [as _immediateCallback] (timers.js:383:17)
是我们的错误或成功案例? –
@RolandStarke我在成功案例 – Mercer
啊! setHeader vs writeHead case,这里使用的节点版本是什么? –