我必须在循环上发出一系列Ajax请求.大约100个.每个请求都返回一个 JSONP变量.我从 JSON中提取数据并继续将值附加到div中.问题是我希望div按函数调用的顺序附加数据.即顺序.现在每次刷新
$.each(elem, function (index, item) { $.ajax({ type: 'post' , url: moviesSearchUrl + '&q=' + encodeURI(item) + '&page_limit=1', dataType: "jsonp", async: false, success: searchCallback }); function searchCallback(data) { var movies = data.movies; var markup = index + ': '+ movies[0].title + '<img class=" bord" src="' + movies[0].posters.thumbnail + '" /><br/>'; $("div.content").append(markup); } }); });
因为我在div中显示索引的值,每次我得到随机订单.有时为2 4 3 1 7,有时为1 5 2 7 4.我甚至尝试异步:false.这没有帮助.我在某处读到JSONP无法使用async:false.请帮帮我.
你可以使用占位符.$.each(elem, function (index, item) { var $placeholder = $('<div>').appendTo("div.content"); $.ajax({ type: 'post' , url: moviesSearchUrl + '&q=' + encodeURI(item) + '&page_limit=1', dataType: "jsonp", async: false, success: searchCallback }); function searchCallback(data) { var movies = data.movies; var markup = index + ': '+ movies[0].title + '<img class=" bord" src="' + movies[0].posters.thumbnail + '" /><br/>'; $placeholder.replaceWith(markup); } }); });