2010-08-12 15 views
7

मैं अपने आवेदन में jQuery 1.4.2 न्यूनतम फ़ाइल को कॉल करने के लिए Google सीडीएन का उपयोग कर रहा हूं। एक एफएफ, क्रोम, सफारी सबकुछ बढ़िया काम कर रहा है। लेकिन किसी कारण से, मुझे लाइन 127 पर jquery.min.js फ़ाइल के लिए "एक्सेस अस्वीकृत" त्रुटि मिलती है ...? मुझे यह नहीं मिला। किसी के पास कोई सुराग है कि यह इस तरह से क्यों काम कर रहा है? मैं पूरी तरह से अनजान हूँ। ! Screenshot आईई 7 और आईई 8 क्यों मुझे jQuery कॉल करते समय "एक्सेस अस्वीकृत" दे रहा है?

कोड

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" 
    type="text/javascript"></script> 

case 1: 
methodName = "SavePropertyInformation"; 
var HasFoundProperty, PropertyType, NumberOfUnits, 
PropertyAddress, PropertyCity, PropertyState, 
PropertyZipCode, PropertyCounty; 

HasFoundProperty = $("#foundProperty input[type='radio']:checked").val(); 
PropertyType = $('#<%= this.fvApp.FindControl("ddlPropertyType").ClientID %>').val(); 
NumberOfUnits = $('#<%= this.fvApp.FindControl("ddlNumberOfUnits").ClientID %>').val(); 
PropertyAddress = $('#<%= this.fvApp.FindControl("txtPropertyAddress").ClientID %>').val(); 
PropertyCity = $('#<%= this.fvApp.FindControl("txtPropertyCity").ClientID %>').val(); 
PropertyState = $('#<%= this.fvApp.FindControl("ddlPropertyState").ClientID %>').val(); 
PropertyZipCode = $('#<%= this.fvApp.FindControl("txtPropertyZipCode").ClientID %>').val(); 
GetCountyFromZipCode(PropertyZipCode); 
PropertyCounty = GetCounty(); 
data = "{WebAccessID:'" + WebAccessID + "', HasFoundProperty:'" + HasFoundProperty + "', PropertyType:'" + PropertyType + "', NumberOfUnits: '" 
    + NumberOfUnits + "', PropertyAddress: '" + PropertyAddress + "', PropertyCity:'" + PropertyCity 
    + "', PropertyState:'" + PropertyState + "', PropertyZipCode:'" + PropertyZipCode + "',PropertyCounty:'" 
    + PropertyCounty + "' }"; 
doAjaxReq(methodName, data, showSavingDialog); 
break; 
+0

कुछ कोड पेस्ट करें – Chris

+0

जब आप अपनी डिस्क से jQuery फ़ाइल लोड करते हैं जहां एप्लिकेशन रहता है, तो क्या आपको वह संदेश उसी ब्राउज़र के साथ भी मिलता है? – XIII

+0

मैंने इसे jQuery फ़ाइल को स्थानीय रूप से खींचने के लिए सेट अप किया है और यह ठीक काम करता है। क्या मुझे एफएफ, क्रोम और सफारी के लिए Google सीडीएन का उपयोग करने की कोशिश करनी चाहिए और केवल आईई 6-8 के लिए स्थानीय फाइल का उपयोग करना चाहिए, या क्या मुझे बस सभी ब्राउज़रों के लिए स्थानीय जाना चाहिए? – Reaction21

उत्तर

5

एक उप डोमेन के लिए एक कॉल करना Same Origin policy की वजह से एक अलग डोमेन के रूप में देखा जाता है। सुनिश्चित करें कि आप उसी उत्पत्ति नीति से इनकार करने से बचने के लिए document.domain सेट कर रहे हैं।

दस्तावेज़ प्राप्त करने के लिए .डोमेन सिंक में आपको इसे दो स्थानों पर सेट करने की आवश्यकता है। एक स्क्रिप्ट टैग जोड़ें जो डोमेन सेट करता है, और आपको उस पृष्ठ पर एक आईफ्रेम होना चाहिए जो अन्य डोमेन पर एक ही चीज़ सेट करता हो।

पेज कि अजाक्स कॉल "www.example.com" से बनाया गया है और बुला रहा है "ajax.example.com":

<script type="text/javascript"> 
    document.domain = "example.com"; 
</script> 
<iframe src="http://ajax.example.com/domainCode.html"></iframe> 

"domainCode.html" बस स्क्रिप्ट टैग होते हैं

<html> 
    <head> 
    <script type="text/javascript"> 
     document.domain = "example.com"; 
    </script> 
    </head> 
    <body> 
    </body> 
</html> 

उस जगह के साथ आप अपने उप डोमेन के बीच बात करने में सक्षम होना चाहिए।

+0

क्या ऐसी वेबसाइट पर ऐसा कुछ करना संभव है जो हमारे नहीं है? (वेबसाइट लोड मेरी जेएस फाइल) क्या इससे कुछ ब्रेकिंग बदलाव हो सकते हैं? – Vadorequest

+2

वही मूल नीति आपको अन्य डोमेन को छूने से रोकती है। – epascarello

-1

क्या आप फ़ायरवॉल के पीछे बैठे हैं? यह jquery.js को जोड़ने और डाउनलोड करने से आपको अवरुद्ध कर सकता है।

+1

नहीं। कोई फ़ायरवॉल समस्या नहीं है। यह एफएफ, क्रोम और सफारी में ठीक काम करता है - यह एक आईई मुद्दा है। – Reaction21

0

सुनिश्चित करें कि आईई में कोई प्रॉक्सी सेटिंग्स, ऑटो कॉन्फ़िगरेशन स्क्रिप्ट या वरीयताओं में ऐसा कुछ भी नहीं है। मुझे आपके कोड में कुछ भी गलत नहीं लगता है।

0

मुझे विश्वास है कि यह समस्या इंटरनेट एक्सप्लोरर में एक निश्चित सुरक्षा सुविधा से उत्पन्न होती है जहां आपको दूरस्थ सर्वर से कोड लोड करने की अनुमति नहीं है जब तक कि इसे ब्राउज़र द्वारा "विश्वसनीय" माना जाता है। जो मैंने पढ़ा है, वहां ऐसे कई उदाहरण हैं जहां ब्राउज़र इस बारे में शिकायत नहीं करता है, और फिर ऐसी अन्य स्थितियां हैं जहां यह इसकी अनुमति नहीं देगी। सुनिश्चित नहीं है कि आपके उदाहरण में विशिष्ट ट्रिगर क्या है, लेकिन मैं शर्त लगाता हूं कि यह आपकी समस्या का मूल है।

यदि मैं आप थे, तो मैं केवल तब तक jQuery को लोड कर दूंगा जब तक कि आपके पास प्रदर्शन समस्याएं न हों जो आपको अन्यथा करने के लिए प्रेरित करती हैं। फ़ाइल jquery-latest.js को नाम दें, और उसके बाद जेक्यू के नए संस्करण प्रकट होते हैं, उन्हें स्थानीय रूप से पहले परीक्षण करें, और तब फ़ाइल को प्रतिस्थापित करें जब आप विश्वास करते हैं कि यह काम करता है। या, संस्करण-नामित फ़ाइल रखें और प्रत्येक पृष्ठ टुकड़े टुकड़े को अपग्रेड करें, जो भी आपके एप्लिकेशन के उपयोग के लिए आसान है।

स्रोत: http://geekswithblogs.net/TimH/archive/2006/05/17/78673.aspx

+0

यह मेरे परीक्षण पर्यावरण पर स्थानीय रूप से काम करता है लेकिन लाइव साइट पर नहीं। कोई अन्य विचार? – Reaction21

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