2017-10-16 50 views
0

我試過this,但無法使其正常工作。我做了一個jQuery ajax請求,登錄到Drupal系統,其中xhrFieldswithCredentials設置爲true。服務器返回會話名稱和ID。所以我想我的問題是;我如何將這些withCredentials設置爲request,因爲它是通過ajax調用完成的?Node.js - 如何在http請求中設置cookie

var cookie = request.cookie(app.session.sessionName + '=' + app.session.sessionId); 

progress(request(url), { 
    header: { 
     'Cookie': cookie 
    } 
}) 

// Access denied [Anonymous user] 

回答

0

設置頁眉不工作,但我找到了解決方案(這實際上是在docs);

var request = require('request'); 
var j = request.jar(); 
var cookie = request.cookie(app.session.sessionName + '=' + app.session.sessionId); 
j.setCookie(cookie, url); 

request({url: url, jar: j}) 
//.... 

後來您可以在end事件中看到cookie;

//var cookie_string = j.getCookieString(url); 
//console.log('Cookie: ', cookie_string);