6

मुझे IE11 और AJAX के साथ एक अनोखी त्रुटि है। लगभग सभी अनुरोधों के लिए मैं नीचे दिए गए कोड का उपयोग कर रहा हूं, सब कुछ ठीक है, फिर भी जब मैं एक प्रतिलिपि + पेस्ट विधि के संयोजन के रूप में उपयोग करने का प्रयास करता हूं, तो यह एक एक्सेस को अस्वीकार कर देता है त्रुटि। तो संक्षेप में प्रस्तुत करनेआईई 11 त्रुटि - एक्सेस अस्वीकार कर दी गई है - XMLHttpRequest

  • इस कोड को सभी कार्यों मैं
  • लिखा है IE में के लिए सबसे ब्राउज़रों में सामान्य रूप से काम करता है 11 + Windows 8.1, यह ज्यादातर मामलों में काम करता है, जब किसी विशेष कॉपी और पेस्ट समारोह
  • चल छोड़कर दिलचस्प बात यह है जब IE 11, लेकिन एक अलग दस्तावेज़ मोड जैसे 8 के साथ का उपयोग कर, मैं अभी भी एक ही त्रुटि मिलती है, भले ही यह IE8 + Windows में मूल रूप से काम करता है 7
  • त्रुटि है
'प्रवेश निषेध है'

उसका ई AJAX कोड है:

function ajaxRequest(requestName,responseFunction,parameters) { 
var xmlhttp; 
if (requestName.length==0) return; 
if (window.XMLHttpRequest) { 
    xmlhttp=new XMLHttpRequest(); 
} else { 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
     if(xmlhttp.responseText == 'Error') alert('Error processing request. Please refresh the page and try again'); 
     else if(xmlhttp.responseText != '') eval(responseFunction+"('"+xmlhttp.responseText+"')"); 
    } 
} 
var now = new Date(); 
var url = "control/ajax.php?request="+requestName+"&parameters="+parameters+"&timestamp"+now; 
xmlhttp.open("GET",url,true); 
xmlhttp.send(); 
} 

एक विफलता का एक उदाहरण, निम्न वैरिएबल निर्धारित किया था:

requestName: "save_marksheet_mark" responseFunction: "update_save_marksheet_mark" पैरामीटर: [60962,1284,5]

क्या इस कोड के साथ कुछ गलत है? क्या कोई कारण है कि आईई 11 विशेष रूप से परिस्थितियों में इस कोड के साथ एक त्रुटि फेंक देगा?

+0

इस धागे को देखें http://stackoverflow.com/questions/22098259/access-denied-in-ie-10-and-11-when-ajax-target-is-localhost – Dnyanesh

+0

यह एक क्रॉस डोमेन अनुरोध नहीं है - var url = "control/ajax.php ... यह उसी साइट पर एक पृष्ठ का अनुरोध कर रहा है क्योंकि उपयोगकर्ता पहले से ही – Ben

+0

* पर जा रहा है *" जब भी मैं एक प्रतिलिपि + पेस्ट विधि के संयोजन के साथ उपयोग करने का प्रयास करता हूं, तो यह एक एक्सेस देता है त्रुटि से इनकार किया गया है "* क्या आपने कॉपी पेस्ट को अपने आप पर देखने का प्रयास किया है, यह देखने के लिए कि" एक्सेस अस्वीकृत "त्रुटि किस प्रकार से उत्पन्न हो रही है? यदि संभव हो तो अनावश्यक कोड को खत्म करें। –

उत्तर

6

यह प्रश्न बहुत सारे विचार प्राप्त कर रहा है, इसलिए अगर कोई सोच रहा था, तो मैंने मूल AJAX कॉल पर setTimeout() का उपयोग करके इस समस्या को हल किया। E.g:

setTimeout(function() { 
     ajaxRequest('save_mark','save_mark_completed',[60962,1284,5]) 
    }, 1); 

मुझे लगता है कि यह आईई में किसी प्रकार का बग है। बस 1 मिलीसेकंड की जरूरत थी!

+1

यह बहुत हास्यास्पद है और मैं इस स्पष्टीकरण को पोस्ट करने के लिए आपके लिए बहुत आभारी हूं क्योंकि पृथ्वी पर क्या चल रहा था यह पता लगाने से पहले मैं लंबे समय से इसके साथ संघर्ष कर रहा था। – glenatron

+0

1ms टाइमआउट इस समस्या को कैसे ठीक करता है? यह अनुरोध सफल होता है? – theUtherSide

+0

मैं आपको नहीं बता सकता कि यह क्यों काम करता है, लेकिन यह निश्चित रूप से करता है! मुझे लगता है कि यह सिर्फ एक बग है! – Ben

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

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