السلام عليكم ورحمة الله وبركاته،
قمت بكتابة كود جافاسكربت وفيه أقوم بتنفيذ الكثير من عمليات POST المتزامنة (synchronous) الواحدة تلو الأخرى، وأحتاج لعرض محتوى الرد response في الصفحة بشكل كامل قبل تنفيذ الطلب التالي..
المشكلة أنه يتم البدء بتنفيذ الطلب التالي قبل انتهاء الـ rendering للرد السابق، وهذا ما يجعل الصفحة لا تتغير كمحتوى على الإطلاق..
حاولت كثيراً طوال البارحة دون فائدة، حتى استبدال أجزاء بسيطة من محتوى المستند document الأصلي لم ينجح حيث لا تظهر التعديلات لكون طلبات AJAX تنفذ بشكل أسرع.
قمت بكتابة مثال بسيط وقريب جداً لما أقوم به، هل هناك اقتراحات تمكنني من تنفيذ ما أرغب به؟
شكراً
XACKER = {
URLs: '',
xml_get: function(url) {
var response = $.ajax({
type: 'GET',
url: url,
headers: {
'User-agent': navigator.userAgent,
'Accept': 'application/atom+xml,application/xml,text/xml',
'Referer': url
},
dataType: 'html',
async: false,
cache: false,
processData: false
}).responseText;
return response;
},
init: function() {
this.URLs = new Array(
'/page1.html',
'/page2.html',
'/page3.html',
);
this.fetchEmAll();
},
fetchEmAll: function() {
var that = this;
that.URLs.forEach(function(url, index, x) {
response = that.xml_get(url);
$('html').html(response);
});
}
}
$(document).ready(function() {
XACKER.init();
});