प्रोटोटाइप के Ajax.Updater वास्तव में IE7 पर अपडेट नहीं हो

वोट
2

मैं का उपयोग कर एक फार्म जमा करने के लिए कोशिश कर रहा हूँ Ajax.Updater और उस अद्यतन मेरा पेज में एक div तत्व का परिणाम है।

सब कुछ IE6, FF3, क्रोम और ओपेरा में महान काम करता है। हालांकि, IE7 में यह कई मायनों में काम करता है, लेकिन अधिक बार नहीं की तुलना में, यह सिर्फ कुछ भी करने को नहीं लगता है।

यहाँ जावास्क्रिप्ट है:

function testcaseHistoryUpdate(testcase, form) {
document.body.style.cursor = 'wait';
var param = Form.serialize(form);
new Ajax.Updater(content, results/testcaseHistory/ + testcase, {
    onComplete: function(transport) {document.body.style.cursor = 'auto'}, 
    parameters: param,
    method: 'post'
    }
);
}

मैं का उपयोग कर सत्यापित करने के बाद alert()कॉल कि परम मैं क्या उम्मीद को तैयार है।

मुझे लगता है कि IE7 आक्रामक तरीके से कैश कई स्थानों में पढ़ा है और यह मूल कारण हो सकता है कि, हालांकि हर मेरी php प्रतिक्रिया के लिए निम्न जोड़ने के बाद, यह अभी भी काम नहीं करता।

header(Last-Modified:  . gmdate(D, d M Y H:i:s) .  GMT);
header(Cache-Control: no-store, no-cache, must-revalidate);
header(Cache-Control: post-check=0, pre-check=0, false);
header(Pragma: no-cache);

आगे एक कैशिंग मुद्दा मैं एक फर्जी पैरामीटर जो सिर्फ एक यादृच्छिक मूल्य के साथ भरा हो जाता है हर कॉल के लिए विभिन्न मापदंडों के लिए जोड़ने की कोशिश की है ठीक करने की कोशिश करने के लिए, लेकिन यह है कि मदद नहीं की।

मैं यह भी पाया है यह है, जहां UTF-8 IE7 के साथ एक समस्या का कारण बनने लग रहा था, लेकिन मेरे पेज स्पष्ट रूप से चिह्नित किया गया है:

<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1 />

किसी को भी किसी भी विचार के रूप में अन्य ब्राउज़रों मैं इस मुद्दे के इस प्रकार पैदा करने के लिए परीक्षण किया करने का विरोध क्या IE7 के साथ गलत हो सकता है है?

14/04/2009 को 19:58
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


6 जवाब

वोट
1

एक आम समस्या लगती अतिरिक्त अल्पविराम समस्या । यकीन है कि आईई आप नीचे बाएँ सूचना आइकन दे नहीं रहा है। मैं अतीत में इस के साथ कुछ परेशानी थी क्योंकि आईई मान्य नहीं किया गया था के रूप में मैं चाहती थी कि मेरी जावास्क्रिप्ट इसे चलाने के नहीं होता।

16/04/2009 को 17:06
का स्रोत उपयोगकर्ता

वोट
2

ऐसा लगता है कि आप एक डोम आईडी तत्व यानी में एक फार्म के टैग के अंदर है कि पर एक अद्यतन नहीं कर सकते। किसी को भी इस के चारों ओर एक रास्ता मिल गया है? मेरे कोड ठीक काम करता है जब मैं यह प्रपत्र टैग के बाहर ले जाते हैं, और यह भी जब मैं सिर्फ प्रपत्र टैग बाहर टिप्पणी और डोम तत्व के लिए कदम नहीं है।

26/05/2009 को 20:38
का स्रोत उपयोगकर्ता

वोट
0

मुझे भी ठीक यही समस्या है!

और - - परीक्षण का एक बहुत बाद त्रुटि दृष्टिकोण, मुझे पता चला क्या हो रहा है:

आईई अजाक्स कॉल निष्पादित करता है, तो PHP फ़ाइल संसाधित करता है, लेकिन स्क्रीन पर कुछ भी प्रदर्शित नहीं करता है!

कुछ भी नहीं है "गूंज" एड, या PHP फ़ाइल में "प्रिंट" एड div (लक्ष्य = 'छिपा हुआ-div) पर प्रदर्शित हो जाता है, और न ही onComplete "अलर्ट" से स्क्रीन पर प्रदर्शित किया जाता है!

लेकिन, सभी MySQL कॉल काम कर रहे हैं, मैं कुछ कोड जोड़ सकते हैं और / या मेरी डेटाबेस पर कुछ foobar रिकॉर्डों को नष्ट करने के लिए जोड़ा है और वे सभी काम किया!

इस हो सकता है आईई कैशिंग मुद्दा?

02/06/2009 को 23:45
का स्रोत उपयोगकर्ता

वोट
0

निश्चित रूप से मेरे लिए एक कैशिंग मुद्दा तरह बदबू आ रही है। आप सही हैं IE7 (और IE6) कैश बहुत आक्रामक, विशेष रूप से AJAX कहता है, और अक्सर गलत तरीके से कैश नियंत्रण हेडर की अनदेखी है।

हमेशा की तरह ठीक एक "कैशेबस्टर" यादृच्छिक पैरामीटर जोड़ने के लिए है यूआरएल के लिए (नहीं के रूप में एक अतिरिक्त पद चर)।

02/06/2009 को 23:51
का स्रोत उपयोगकर्ता

वोट
1

AJAX के मुद्दे से संबंधित नहीं है, लेकिन IE में आप ब्लॉक स्तर तत्वों यह एक त्रुटि फेंक होगा साथ एक इनलाइन तत्व को अद्यतन करने की कोशिश करता है, तो। यदि यह आप पर लागू निम्नलिखित के साथ अपने कोड लपेट परीक्षण करने के लिए:

try {
// Your code
// something.update('...');
} catch(error) {
alert(error.descripton)
alert(error.number)
}

आप त्रुटि मिलती है -+२१४६८२७६८७ अपने html को पुनर्व्यवस्थित ताकि आप ब्लॉक स्तर तत्वों के साथ ब्लॉक स्तर तत्वों अपडेट कर रहे हैं।

06/06/2009 को 09:44
का स्रोत उपयोगकर्ता

वोट
0

आईई बेवकूफ जब यह कैशिंग करने के लिए आता है। मैं एक छोटे से 'सहायक' पृष्ठ जो एक पूरे html / शरीर आदि तो मैं अपने सामान्य एंटी-कैशिंग सामान में डाल नहीं कर सकता नहीं था था।

एक यूआरएल वर के विचार हालांकि काम करता है।

    var cacheBuster = parseInt(Math.random() * 99999999); // cache buster
    new Ajax.Updater(elementId, '/Helpers/PendingChanges.aspx?Cache=' + cacheBuster);

इसके अलावा, मैं IE8 में एक 'अनिर्दिष्ट' हो रही थी जब तक मैं चारसेट के बारे में लाइन गयी।

08/03/2010 को 15:38
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more