मैं एक साधारण नोड सर्वर बनाने की कोशिश कर रहा हूं जो नोडमेलर के साथ ईमेल भेजता है

let app = require('express')();
app.use(require('body-parser').urlencoded());

const CONTACT_ADDRESS = 'email@email.com';

var mailer = require('nodemailer').createTransport({
  service: 'mail.ee',
  auth: {
    user: 'test@test.com',
    pass: 'password',
  }
});

app.post('/contact', function(req, res) {
  mailer.sendMail({
    from: req.body.from,
    to: '[CONTACT_ADDRESS]',
    subject: req.body.subject || '[No subject]',
    html: req.body.message || '[No message]',
  }, function(err, info) {
    if (err) return res.status(500).send(err);
    res.json({success: true});
  })
});

//Service is listening to port 3000
app.listen(3000, function(){
    console.log("Service is running on port 3000...");
});

और संपर्क फ़ॉर्म इस प्रकार है:

<form method="post" action="http://localhost:3000/contact">
    <label>Your e-mail</label>
    <input type="text" name="from">

    <label>Subject</label>
    <input type="text" name="subject">

    <label>Message</label>
    <textarea name="body"></textarea>
    <input type="submit" value="Submit">
  </form>

जब भी मैं सबमिट बटन दबाता हूं तो मुझे मिलता है:

JSON.stringify (मान); लेखन त्रुटि: वृत्ताकार संरचना को JSON में परिवर्तित करना

इसका क्या मतलब है? मैं इससे कैसे उबर सकता हूं?

1
marmahan 2 मई 2019, 15:59

1 उत्तर

सबसे बढ़िया उत्तर

res.send विधि आपके err ऑब्जेक्ट को स्ट्रिंग करने का प्रयास कर रही है, लेकिन आपकी err ऑब्जेक्ट को स्ट्रिंग नहीं किया जा सकता, क्योंकि मानक त्रुटि ऑब्जेक्ट नहीं है। इस err ऑब्जेक्ट को देखने और तय करने के लिए इसे आउटपुट करने का प्रयास करें।

उदाहरण के लिए आप उपयोग कर सकते हैं

if (err) return res.status(500).send(err.reason);

इस्टेड

if (err) return res.status(500).send(err);
1
Vladislav Sevostyanov 2 मई 2019, 14:00