And*_*iga 1 javascript ajax jquery do-while
考虑以下代码:
var x = 0;
do {
$.ajax({
type: "POST",
url: someurl,
dataType: 'xml',
data: xmlString,
success: function(xml) {
x++;
}
} while(x<10);
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用,因为将向“someurl”发出数千个请求,那么我将如何更改此代码以使条件do while取决于异步 HTTP 请求的回调?换句话说,如何让 do-while 循环仅在调用请求回调时继续?因此只会进行 11 次迭代,而不是数千次。
你可以这样重写:
var x = 0;
function ajaxCall() {
$.ajax({
type: "POST",
url: someurl,
dataType: 'xml',
data: xmlString,
success: function(xml) {
x++;
if (x<10) ajaxCall();
else afterAjaxCall();
}
}
function afterAjaxCall() {}
Run Code Online (Sandbox Code Playgroud)
这样,该方法在成功十次时会调用自身,然后调用“after”方法继续执行其他代码。