1
サーバーからJSONを取得する簡単なHTTPクライアントを作成する必要があります。私はオブジェクトを生成したい。NodeJSでhttpリクエストを作成してオブジェクトを設定するにはどうすればよいですか?
私はNode.JS上のリクエストモジュールを使用しており、成功せずにコールバックを使用しようとしました。
チュートリアルで私を助けてくれますか?どんな助けもありがとう!
マイコード:
var sessionInfo = {
sessionId: 's1',
loginName: ''
};
function populateSessionInfo(body) {
console.log("step4");
sessionInfo.sessionId = "s2";
sessionInfo.loginName = body.loginName;
console.log("sessionInfo.sessionId =>" + sessionInfo.sessionId);
};
function loginOnServer(callback) {
console.log("step2");
var options = {
url: SERVER_URL + '/stwebapi/user/connect', //URL to hit
method: 'POST',
json: true, // request automatically parse body
headers: {
'User-Agent': USER_AGENT
},
form: {
username: USERNAME,
password: PASSWORD,
loginMethod: 'byPassword',
initialStatus: 1, // Available
initialStatusMessage: 'I am Available @ SametimeBot!'
}
};
request(options, function(error, response, body) {
console.log("step3");
if (error || response.statusCode != 200) {
console.error('Failed to contact ST Proxy server');
return callback(error);
}
if (body.returnCode == 500) {
if (body.error == 4 || body.error == 2) {
console.log('Invalid User or Password');
return callback(error);
}
}
return populateSessionInfo(body);
});
console.log("step5");
};
console.log("step1");
loginOnServer(sessionInfo);
console.log("step6");
console.log(sessionInfo);
console.log("step7");
私は実行すると、結果は次のとおりです。
step1
step2
step5
step6
{ sessionId: 's1', loginName: '' }
step7
step3
step4
sessionInfo.sessionId =>s2
コールバックは正しく使用されていません。 –
あなたの質問には明確な問題の説明がありません。サイトツアーを行ってください(トップバーの "ヘルプ"をクリックしてください)、[質問する方法](http://stackoverflow.com/help/asking)と[明確な問題の説明を作成する方法](http:// stackoverflow.com/help/mcve) –