私はjson形式のサーバーからデータを取得しようとしています。javascriptコードが順番に実行されない
for (var i = 0; i < jsonHosts.length; i++) {
console.log("dog");
console.log(jsonHosts[i].host.status);
document.getElementById('test').innerHTML += "<br>" + jsonHosts[i].host.status;
document.getElementById('test').innerHTML += '<br>Some new content!';
}
console.log("done");
問題があり、このコードブロックに続いて、このコード
for (var i = 0; i < hosts.length; i++) {
var tempUrl = url + hosts[i];
jQuery.ajax({
type : "GET",
dataType : "json",
username : "user",
password : "password",
url : url,
async : true,
success : function (data) {
//var obj = data.data.host.status;
//console.log(obj);
jsonHosts.push(data.data);
console.log("added data");
}
});
}
と
は、私のコンソールには、「完了」し、「追加データ」と表示されますと、私のWebページが空白になります。
私は、関数の最初の部分を入れて実行したが、無駄に終了する機能を待つために私のコードを取得しようと試みました。成功の機能は、あなたのループの後に実行されるよう
とにかく、私はこのコードを実行させることができために/最初のブロック
:これを試してみてください。 AJAXリクエストが完了すると、 "success"関数が呼び出されます。そこでは、実行されているリクエストに依存するコードを記述する必要があります。管理しやすくすると、別の機能を指すことができます。 – moopet
非同期呼び出し...あなたがしたことは、オンラインでピザを注文したことです。あなたが提出を押すとすぐに、あなたの家に届けられていないピザを食べようとします。 – epascarello
Asyncを無効にすると、問題が解決しました。 私はweb devを初めて使いました。 助けてくれてありがとう –