2012-06-15 14 views
9

में एक चर में अपनी स्थानीय डिस्क पर एक टेक्स्ट फ़ाइल कैसे पढ़ूं हाय मैं अपनी स्थानीय मशीन से .json फ़ाइल में पढ़ने की कोशिश कर रहा हूं। यह कोड मैं उपयोग कर रहा हूँ में इसे पढ़ा नहीं होगा:मैं जावास्क्रिप्ट

jQuery.getJSON('../json/test.json') 
    .done(function(data) { 
     var test = data; 
     alert("sucsess"); 
    }) 
    .fail(function(data){ 
    alert("failed"); 

}); 

सभी मैं इस से हो रही है में विफल रहा है कि मैं क्या गलत कर रहा हूँ। मैं इसके साथ एक सर्वर के माध्यम से नहीं जा रहा हूँ।

+2

अपने वेब सर्वर अपने स्थानीय मशीन पर नहीं है, तो यह काम नहीं करेगा। – OptimusCrime

+0

आपको क्या त्रुटि कोड मिलते हैं? – Bergi

उत्तर

9

उपयोग फ़ाइल API अंदर अपने परीक्षण चर देख सकते हैं। यहाँ नमूना कोड और डेमो के साथ एक गाइड है:

2

है कि सुरक्षा कारणों आदि की वजह से जावास्क्रिप्ट के माध्यम से अपने स्थानीय मशीन पर फ़ाइलों तक पहुंचने नहीं कर सकते हैं ....

जावास्क्रिप्ट और डोम को दुर्भावनापूर्ण लेखकों के लिए संभावित प्रदान एक ग्राहक पर चलाने के लिए स्क्रिप्ट देने वेब के माध्यम से कंप्यूटर। ब्राउज़र लेखकों में दो प्रतिबंधों का उपयोग करके इस जोखिम को शामिल किया गया है। सबसे पहले, स्क्रिप्ट्स को एक सैंडबॉक्स में चलाती है जिसमें वे केवल वेब-संबंधित क्रियाएं कर सकते हैं, सामान्य उद्देश्य प्रोग्रामिंग कार्यों जैसे फाइलें बनाना।

लेकिन मैं इस वेबसाइट मिल गया है, लेकिन दिया है कि एक कोशिश, शायद आप में मदद करता है कभी नहीं: Reading local files in JavaScript

संपादित करें: आप कर रहे हैं कभी नहीं एक वेबसर्वर पर अपने कोड को चलाने वाला और केवल उस पर अमल करते हैं आपका स्थानीय सिस्टम (ब्राउज़र में index.html को कॉल करना जैसे: सी: /Users/user/index.html आप इसे एक्सेस कर सकते हैं, लेकिन यदि यह वेबसाइट कभी भी ऑनलाइन जा रही है, जो मुझे लगता है, यह काम नहीं करेगा

5

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

संपादित करें: मुझे इसे वापस लेना है। नया ब्राउज़र आपको उपयोगकर्ता ईवेंट के आधार पर फ़ाइल पढ़ने की अनुमति देगा। यदि उपयोगकर्ता फ़ाइल इनपुट पर क्लिक करता है और फ़ाइल खोलता है तो आप इसे

0

पढ़ सकते हैं यदि आप स्थानीय जावास्क्रिप्ट के साथ संभव नहीं है, तो स्थानीय (क्लाइंट) सिस्टम पर फ़ाइल के बारे में बात कर रहे हैं, सर्वर नहीं। आप स्थानीय फाइल सिस्टम संसाधनों तक नहीं पहुंच सकते हैं।

0

jQuery.getJSON कॉल अतुल्यकालिक है, तो आप केवल समारोह (डेटा) {...}

6

चेक इस fiddle

<title>reading Text files</title> 
<body> 
    <input type="file" id="files" name="files[]" multiple /> 
    <output id="list"></output> 
    <script> 
     function handleFileSelect(evt) { 
     var files = evt.target.files; // FileList object 

     // Loop through the FileList 
     for (var i = 0, f; f = files[i]; i++) { 

     var reader = new FileReader(); 

     // Closure to capture the file information. 
     reader.onload = (function(theFile) { 
      return function(e) { 
       // Print the contents of the file 
       var span = document.createElement('span');      
       span.innerHTML = ['<p>',e.target.result,'</p>'].join(''); 
       document.getElementById('list').insertBefore(span, null); 
      }; 
     })(f); 

     // Read in the file 
     //reader.readAsDataText(f,UTF-8); 
     //reader.readAsDataURL(f); 

     reader.readAsText(f); 
     } 
    } 
    document.getElementById('files').addEventListener('change', handleFileSelect, false); 
    </script> 
</body> 
संबंधित मुद्दे