ajax - تصحيح الأخطاء: IE6+سل+أجاكس+بوست فورم=404 إرور



debugging internet-explorer (1)

الميناء الأول من المكالمة سيكون لإطلاق النار فيدلر وتحليل البيانات التي تذهب من وإلى المتصفح.

نلقي نظرة على الرؤوس، ورل في الواقع يجري استدعاء والمعلمات (إن وجدت) يتم تمريرها إلى أسلوب أجاكس ومعرفة ما إذا كان كل شيء يبدو جيدا قبل الوصول إلى الملقم.

إذا كان كل ذلك يبدو موافق، هل هناك أي طريقة يمكنك التحقق من انها في الواقع ضرب الملقم عن طريق تسجيل، أو تتبع في طريقة أجاكس؟

إد: شيء آخر سأحاول هو تلاعب صفحة اختبار لاستدعاء الأسلوب أجاكس على الخادم باستخدام استدعاء غير أجاكس استنادا وتحليل حركة المرور في فيدلر ومقارنة بينهما.

الإعداد:
البرنامج المعني يحاول نشر بيانات النموذج عبر مكالمة أجاكس إلى إجراء الهدف الوارد في نفس الحزمة كما المتصل. يتم ذلك لموقع يستخدم اتصال آمن (هتبس). التكنولوجيا المستخدمة هنا هي بلسكل ومكتبة جافا سكريبت دوجو . أداة تطوير هو في الأساس محرر النص .

مقتطف الشفرة:

> function testPost() {  
>>    dojo.xhrPost( {  
             url: ''dr_tm_w_0120.test_post'',  
             form: ''orgForm'',  
             load: testPostXHRCallback,  
             error: testPostXHRError  
            });  
      }  

> function testPostXHRCallback(data,ioArgs) {  
>>          alert(''post callback'');  
          try{  
          dojo.byId("messageDiv").innerHTML = data;  
          }  
          catch(ex){  
                if(ex.name == "TypeError")  
                {  
                  alert("A type error occurred.");  
                }  
          }   
          return data;  
       }         
> 
function testPostXHRError(data, ioArgs) {    
>>          alert(data);  
          alert(''Error when retrieving data from the server!'');  
          return data;  
       }    

المشكلة:
عند استخدام IE6 (الذي يستخدم قاعدة المستخدم بالكامل)، الاستجابة المرسلة من الخادم خطأ 404.

الملاحظات:
البرنامج يعمل بشكل جيد في فايرفوكس.
لا يمكن أن يستهدف إجراء الاتصال أي إجراءات داخل الحزمة نفسها.
يمكن أن يستهدف إجراء الاتصال المواقع الخارجية (هتب، هتبس).
تعمل مكالمات أجاكس الأخرى في الحزمة التي ليست مشاركات بيانات النموذج بشكل جيد.
لقد بحثت المتدربين الداخليين والتشاور مع أعضاء فريق من ذوي المهارات العالية ولم يكتشف أي شيء يعالج بشكل مرض القضية.
* حاول Q & A أكثر في دوجو دعم المنتديات.

الأسئلة:
ما تقنيات تحري الخلل وإصلاحه التي توصي بها؟
ما أدوات تحري الخلل وإصلاحه التي تنصح بها لتحليل هتبس؟
أي فرضيات حول ما قد تكون عليه المشكلة؟
أي أفكار للحلول التي ليست مجموع (سيئة) الخارقة؟

إد. الحل
لوماكس، ثكس ل تلميح العازف . لديك أي فكرة كيف رهيبة كان للحصول على ذلك واستخدامها كأداة التصحيح. بعد بدء تشغيل هذا هو ما وجدت وكيف أنا إصلاحه (على الأقل في المدى القصير):

> ef Fri, 8 Aug 2008 14:01:26 GMT dr_tm_w_0120.test_post: SIGNATURE (parameter names) MISMATCH VARIABLES IN FORM NOT IN PROCEDURE: SO1_DISPLAYED_,PO1_DISPLAYED_,RWA2_DISPLAYED_,DD1_DISPLAYED_ NON-DEFAULT VARIABLES IN PROCEDURE NOT IN FORM: 0

بعد رؤية تلك الرسالة من الخادم، طردت فيدلر أكثر قليلا لمعرفة ما يمكن أن أتعلم من ذلك. وجد أن هناك علامة تبويب فيورمز تعرض القيم الموجودة في نموذج الويب. لن تعرف ذلك، كانت الحقول " xxx_DISPLAYED_ " أعلاه موجودة فيه.

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

حسنا، أن الإجابة على المدى القصير والاختراق لإصلاحه. نأمل أن المزيد من العمل في هذا المجال سوف يؤدي إلى فهم أفضل للأساسيات الجارية هنا.





internet-explorer-6