後我的代碼:無法設置頁眉他們派出
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,這裏使用的節點版本是什麼? –