これは現在、APIを使用しているプログラマーで作業しています。JavaScript - オンロード機能(httpリクエスト)からデータを取得する
私は2つの機能は、ATMがあります
getBotID()
function getBotID(domain) {
var url = "http://" + domain + ":8087/api/v1/botId";
idRequest.open("GET", url);
idRequest.onload = function() {
var botID = JSON.parse(idRequest.responseText);
};
idRequest.send();
}
とgetAuth()
function getAuth(domain, user, pass) {
getBotID(domain);
var url = "http://" + domain + ":8087/api/v1/bot/login";
body = '{"username": ' + user + ', "password": ' + pass + ', "botId": ' + botID + '}';
authRequest.open("POST", url);
authRequest.setRequestHeader("Content-Type", "application/json");
authRequest.onload = function() {
var authToken = JSON.parse(authRequest.responseText);
};
authRequest.send(JSON.stringify(body));
}
私は新しい持つAuthTokenを取得しようとする前に、BOTIDを取得する必要がありますgetAuth()関数でgetBotID()を即座に呼び出します。
私の問題は、次のとおりです。
- 開始getAuthを()
- を:それはこのように実行されますので、私は)getBotID(でhttpリクエストののonload()関数の外側BOTIDを得るカント開始getBotID()
- 仕上げgetBotID()
- 仕上げgetAuth()
- AND NOW getBotID()のonloadイベント機能を終える...
私は単にonload関数からbotIDデータを取得できません。私はすでにあなたにコールバック関数を試しましたが、それはうまく機能しませんでした。
これはできません。約束を使うべきです。 – SLaks
手作業でJSONをビルドしないでください。 'JSON.stringify'を使います。 – SLaks
@SLaksあなたはボディ変数を意味しますか? – redii