1
でセッションを設定傾ける角度2でこれを手に入れた:HTTPポストは、ポスト
let body = JSON.stringify(this.jiraConfig);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
this.http.post('http://localhost:3007/api_jira/login', body, options).subscribe(...
私は私のバックエンドでセッションを保存する必要があります。私は郵便配達員からそれを実行するときに動作します。しかし、角度から投稿すると、バックエンドはセッションを設定しません。
なぜ私の投稿にオプションを設定する必要がありますか?私のIDEはオプションだと言っていますか?とにかく、セッションを保存できるようにヘッダーにいくつかの設定を挿入する必要があるかもしれません。何か案は?
これは私の郵便配達依頼がgenereatedさ アップデートはカールする:これは、クロームのdevのツール、ネットワークからの情報が
curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -H "Postman-Token: c730242e-0497-7344-35b1-f0addca9e7b6" -d '{"host":"xxx","basic_auth":{"username":"xxx","password":"xx"}}' "http://localhost:3007/api_jira/login"
で、ヘッダー・タブ:
Request URL:http://localhost:3007/api_jira/login
Request Method:POST
Status Code:200 OK
Remote Address:[::1]:3007
Response Headers
view parsed
HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: *
Vary: X-HTTP-Method-Override
Content-Type: application/json
set-cookie: connect.sid=s%3AM04ERSgj6F-5wKHwX1XY3G8CO6ZqfEHX.Xflr7ueknyg%2FYHvHIDqBp4ogfddfVdRwJS7GV4bniMk; Path=/; Expires=Thu, 19 May 2016 08:17:58 GMT
Date: Thu, 19 May 2016 08:16:58 GMT
Connection: keep-alive
Content-Length: 0
Request Headers
view parsed
POST /api_jira/login HTTP/1.1
Host: localhost:3007
Connection: keep-alive
Content-Length: 89
Pragma: no-cache
Cache-Control: no-cache
Origin: http://localhost:4200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
Content-Type: application/json
Accept: */*
Referer: http://localhost:4200/
Accept-Encoding: gzip, deflate
Accept-Language: sv-SE,sv;q=0.8,en-US;q=0.6,en;q=0.4,ca;q=0.2,nb;q=0.2
Request Payload
view parsed
{"host":"xx.atlassian.net","basic_auth":{"username":"xx","password":"xx"}}
クローム投稿はに変換しましたカール:
curl 'http://localhost:3007/api_jira/login' -H 'Pragma: no-cache' -H 'Origin: http://localhost:4200' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: sv-SE,sv;q=0.8,en-US;q=0.6,en;q=0.4,ca;q=0.2,nb;q=0.2' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36' -H 'Content-Type: application/json' -H 'Accept: */*' -H 'Cache-Control: no-cache' -H 'Referer: http://localhost:4200/' -H 'Connection: keep-alive' --data-binary '{"host":"xx.atlassian.net","basic_auth":{"username":"xx","password":"xx"}}' --compressed
これは私が私のセッションでいくつかのデータ(jiraConfig)にしようとしている私のバックエンド(ノード)である:
server.post('/api_jira/login', function(req, res){
var jiraConfig = req.body;
checkIfJiraConfigIsValid(jiraConfig, function(error, resp){
if(error){
res.status(401).send('Not authorized')
}else{
req.session.jiraConfig = jiraConfig;
res.status(200).send();
}
})
});
あなたは郵便配達で何をしましたか質問に追加できますか?ありがとう! –
@ThierryTemplier、私は質問を更新しました。 – Per
ありがとう!セッションではどういう意味ですか?バックエンドはペイロードを使用してセッションを初期化しますか?また、開発ツール(ネットワークタブ)からAngular2のリクエストの詳細を提供できますか? –