2009-07-27 14 views
5

पर काम नहीं करता है, मैं वर्तमान में प्रत्येक 2sec jQuery का उपयोग कर एक ही AJAX अनुरोध कर रहा हूं। किसी कारण से, आईई 8 पर यह केवल पहली बार काम करता है। प्रत्येक अनुरोध स्वचालित रूप से ऑनसेक्शन फ़ंक्शन पर जाता है, जैसा कि पहले अनुरोध के समान परिणाम होता है।jquery AJAX, जब आवधिकता कहा जाता है, IE8

एफएफ 3 और क्रोम पर एक ही कोड काम perfeclty।

क्या किसी को उस बग के बारे में पता है और इसके आसपास हैक कैसे करें? या क्या मैं बस कुछ गलत कर रहा हूं?

+0

क्या आप कुछ कोड पोस्ट कर सकते हैं? इसके बिना किसी समस्या को देखना मुश्किल है। – Damien

उत्तर

12

आईई में कैशिंग सुविधा है ... यह संभव है कि उसने आपके अनुरोध को कैश किया है। सुनिश्चित करें कि आप अपने क्वेरी स्ट्रिंग के लिए एक यादृच्छिक संख्या की तरह कुछ संलग्न है, तो जैसे बनाओ:

var url = "/yoururl.html"; 
url = url + "&random=" + Math.random(); 
+1

यह पूरी तरह से काम किया। जेसन के तेज़ उत्तर देने के लिए धन्यवाद। – Zwik

+0

यदि यह आपकी मदद करता है, तो कृपया उत्तर के रूप में स्वीकार करें! thx – Jason

+0

sry ^^, (मैं यहाँ नया हूँ) – Zwik

6

जैसा कि आप जानते $.ajax एक cache विशेषता है कि, जब गलत पर सेट वास्तव में क्या करता है जेसन कर रही है, अर्थात् है, एक भी शामिल है यादृच्छिक पैरामीटर जिसका मतलब है कि कोई अनुरोध कैश नहीं मिलता है। यह स्वयं को करने से थोड़ा अधिक सुरुचिपूर्ण है

+1

ओह! हेहे को जानना वाकई अच्छा है। धन्यवाद ब्रैड :) – Zwik

0

मुझे अभी भी एक ही चीज़ का सामना करना पड़ा है और आपने अपने AJAX फ़ंक्शन कॉल की "कैश" संपत्ति को गलत पर सेट करके इसे ठीक कर दिया है।

 $.ajax({ 
      url: "/ws/inventory/checkavailability/", 
      async: false, 
      dataType: 'json', 
      cache:false, 
      success: function (data) { 
       //so something interesting 
      }, error: function (error) { 
       //display error? 
      } 
     }); 
+0

यह एक डबल हो सकता है, मैंने ब्रैड का जवाब नहीं देखा :) वैसे भी यहां एक नमूना कोड है। – Nielsm

संबंधित मुद्दे