2012-03-17 14 views
6

में फ़ाइलों को पढ़ने के लिए node.js प्राप्त करना मैं नोड.जे.एस. में एक छोटा ऐप विकसित कर रहा हूं। मैं सिर्फ इनपुट और आउटपुट के लिए नोड.जेएस का उपयोग कर रहा हूं। वास्तविक वेबसाइट सिर्फ nginx के माध्यम से चल रहा है। वेबसाइट में नोड.जेएस के साथ एक वेबस्केट कनेक्शन है और मुख्य रूप से डीबी मैनिपुलेशन के लिए उपयोग किया जाता है।एचटीएमएल प्रारूप

उन चीजों में से एक जो मैं करने की कोशिश कर रहा हूं, डेटाबेस से डेटा के साथ एचटीएमएल के छोटे टुकड़े भेजने के लिए नोड प्राप्त होता है। मैंने निम्नलिखित कोड की कोशिश की।

सरलीकृत:

connection.on('message', function(message) { 
     fs.readFile(__dirname + '/views/user.html', function(err, html){ 

      if(err){ 
       console.log(err); 
      }else{ 
       connection.sendUTF(JSON.stringify({ 
        content: html, 
        data: {} 
       })); 
      } 
     }); 
    } 
}); 

जब मैं console.log(html) सर्वर पर या ग्राहक मैं केवल संख्या वापस पाने में।

कोई भी जानता है कि क्या गलत हो सकता है।

नोट:मैं वास्तव में socket.io, express, आदि बस इसे के रूप में संभव के रूप में सरल रखने और कोई फ़ॉलबैक की जरूरत है की तरह सामान से दूर रहना चाहते हैं।

+0

[इस] के चरण 3 (http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js:

इसे इस तरह से कॉल करके देखें /)? इसके अलावा, जाहिर है कि आप "sendHeader" को "writeHead" के साथ बदलना चाहते हैं। – cormacrelf

+0

मैं सेनहेडर को कहां बदलूं? –

उत्तर

22

यदि आप fs.readFile के लिए एन्कोडिंग निर्दिष्ट नहीं करते हैं, तो आप अपेक्षित फ़ाइल सामग्री के बजाय कच्चे बफर को पुनर्प्राप्त करेंगे।

fs.readFile(__dirname + '/views/user.html', 'utf8', function(err, html){ 
.... 
+0

ठीक है, मैं कोशिश करूँगा। मैंने सोचा कि मैंने प्रलेखन में पढ़ा है कि जब आप किसी भी निर्दिष्ट नहीं करते हैं तो यह स्वचालित रूप से utf8 पर डिफ़ॉल्ट हो जाता है। शायद मैंने कुछ अनदेखा किया। इसे आजमाएं और रिपोर्ट करें। –

+0

यह चाल है! –

+0

उत्तर के लिए धन्यवाद !! :) – Aircraft5

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