AJAX (النموذج / PHP) تشغيل 2 عملية اياكس معلقة حتى يتم الانتهاء من أول واحد

StackOverflow https://stackoverflow.com/questions/805354

سؤال

وهذا السؤال هو متابعة لتقريري السابق واحد: <لأ href = "https://stackoverflow.com/questions/800997/ajax-prototype-php-getting-partial-status-updates-during-script-execution" > الأسئلة السابقة .

وهكذا الإعداد أنا صفحتي لبدء مكالمة اياكس لبدء معالجة بعض السجلات. وبعد كل سجل فإنه يقوم بتحديث صف في جدول آخر لتتبع حالة هذه العملية. بعد إجراء تلك الدعوة اياكس الأولى، ولدي آخر بدء التشغيل. انها Ajax.PeriodicalUpdater وتم ضبطه لتصل إلى الملف الذي الاستعلامات ببساطة هذا الصف في ديسيبل وإرجاع حالة عملية الأصلي.

وهكذا تعمل هذه الغرامة تماما ... طالما أن الملف الذي يوفر تحديثات خارج بلدي التطبيق الحالي. إذا وضعت الملف داخل بلدي التطبيق، ثم أنها لا تعمل الصحيح. إذا أشاهد الحرائق، والدعوة PeriodicalUpdater لا تحصل على أي شيء مرة أخرى حتى انتهاء المكالمة اياكس الأصلية، فإنه توقف للتو لذلك كما لو كان الملف هو معلق ولا يعود أي شيء.

وهذا التطبيق كله يعمل داخل فقط إطارا أساسيا نحن تستخدمه. لا شيء مجنون، فقط يعالج التوجيه، وجوانب قالب الأساسية الخ ... لذلك كل من هذه الوظائف / الملفات داخل هذا التطبيق ويتم توجيه كل هذه الدعوات اياكس من خلال ذلك.

وماذا يمكن أن تسبب شيئا من هذا القبيل؟

هل كانت مفيدة؟

المحلول

ويمكن أن يكون هذا يرجع إلى حد الاتصالات المتزامنة التي يدعمها متصفح لل مجال معين؟

نصائح أخرى

ويحدث هذا بسبب جلسة PHP التسلسل. يتم تأمين بيانات الجلسة حتى انتهاء عملية PHP لكل طلب الكتابة إلى ذلك، المزيد من طلب ذلك في الدورة نفسها والانتظار حتى يتم تحرير التأمين.

إذا طلبات AJAX الخاص بك تحتاج الوصول إلى حالة جلسة، تلا ما تحتاجه من معلومات ومن ثم استخدام session_write_close() كما في التعليمات البرمجية أبكر وقت ممكن للافراج عن تلك الأقفال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top