0
我有一個程序在javascript中調用一個函數,並向1個servlet發送1個請求,我希望在請求後執行請求並在每次執行完後獲取響應,以使這個I有1個函數,但它只顯示所有請求執行後的結果。在javascript中獲取servlet響應後更新textarea
function cmd(args) {
width = 0;
var res = args.split('\n');
var largo = res.length;
var progressLength = 100/largo;
for (var i = 0; i < largo; i++)
{
if (res[i] == 'desconectar')
{
desconectar();
break;
}
else
{
executeCMD(res[i]);
}
}
}
function executeCMD(args)
{
$.ajax({
type: "POST",
url: 'Controlador',
data: {cmd: args, operacion: 1},
success: function (response) {
document.getElementById('respuesta').value = document.getElementById('respuesta').value + response;
},
dataType: 'text',
async: false
});
}
如果我添加window.alert(response);裏面的成功領域,它顯示了一步一步的進展,並正常工作,但它顯示我不想要的警報。
這是我想http://imgur.com/a/9nclR,但我只得到最後的照片。
是否有您有任何理由'異步:FALSE'?這通常被認爲是不好的做法,甚至[在jQuery 1.8以上不推薦使用](http://api.jquery.com/jQuery.ajax/) – neilsimp1
是的,如果我將異步設置爲true,請求將在結束後顯示我的循環從我稱之爲執行CMD的函數開始。因此,響應將同時顯示。 – Jebus
不知道,但我認爲這個問題也可能是'progress'變量。你如何設置它?此當前值是否設置在進度條或回調函數中? – michael