2014-04-28 8 views
6

के साथ कंसोल त्रुटियों को दबाएं मैं जावास्क्रिप्ट में "fileExists" फ़ंक्शन लिखने की कोशिश कर रहा हूं जो बस सर्वर से अनुरोध भेजता है और 404 स्थिति वापस भेज दिया जाता है तो झूठी वापसी करता है।XMLHttpRequest

फ़ंक्शन पूरी तरह से काम करता है, लेकिन मुझे Google क्रोम कंसोल में मिलने वाले त्रुटि संदेश को दबाने लगते नहीं हैं: GET /something/foobar 404 (Not Found)

क्या कोई इस के आसपास काम करने का तरीका जानता है?

संदर्भ के लिए, कोड मैं का उपयोग कर रहा है:

var fileExists = function(url) { 
     var req = new XMLHttpRequest(); 
     req.open('GET', url, false); 
     req.send(); 
     return req.status === 200; 
    }; 

अग्रिम धन्यवाद!

उत्तर

5

मुझे नहीं लगता कि कंसोल को रोकने से रोकने के लिए एक तरीका है कि एक संसाधन संसाधन लोड हो रहा है। वास्तव में इसमें कुछ भी गलत नहीं है।

हालांकि आप वास्तव में जीईटी के साथ रिसोर्स को लोड करने के बजाय एक HEAD अनुरोध का बेहतर उपयोग कर सकते हैं।

function fileExists(url) { 
    var req = new XMLHttpRequest(); 
    req.open('HEAD', url, false); 
    req.send(); 
    return req.status !== 404; 
} 

प्रयास करें क्या तुम सच में 404 स्थितियों से बचने के लिए, अपने सर्वर पर एक सेवा है कि आप क्वेरी कर सकते हैं कि एक फ़ाइल/पथ उपलब्ध है स्थापित करना चाहते हैं। यह हमेशा 200 ओके स्थिति के साथ एक्सएमएल/जेएसओएन/टेक्स्टुअल प्रतिक्रिया वापस करेगा, भले ही इसमें true या false शामिल हों।

+1

धन्यवाद, मैं उससे डरता था। हालांकि, मैंने पहले से ही सभी विधियों का प्रयास किया है (यहां तक ​​कि पुट और डिलीट: पी) सभी एक ही परिणाम देते हैं :( – Harold

+1

असल में यह समाधान काम नहीं करता है। असल में कंसोल पर त्रुटि इस तरह से बदतर लगती है। –

+0

हां कुछ गड़बड़ है वास्तव में। ओपी और मैं त्रुटि संदेश को दूर करना चाहता हूं क्योंकि कोई त्रुटि नहीं हुई है। – DavidWalley