मैं जावास्क्रिप्ट में एक डिस्कॉर्ड बॉट के लिए एक डैशबोर्ड बना रहा हूं। लॉगिन टोकन भेजने के बाद यह कहता है "पोस्ट नहीं कर सकता /"। मैंने Google पर खोज की लेकिन कुछ भी मदद नहीं की ...

मैंने स्टैक ओवरफ्लो पर अन्य प्रश्नों से कुछ कोड की कोशिश की लेकिन यह मेरे लिए काम नहीं करेगा।

anmelden.html

<html>
<head>
<title>Anmelden: WumpyBot Webinterface</title>
</head>
<body bgcolor="#0049ff">
    <center><br><br>
        <h2>Anmelden</h2>
        <h3>Bitte gebe deinen Anmeldecode ein. Dieser gilt 10 Minuten lang und kann auf dem ausgewählten Discord Server mit dem Befehl "/wi generate" erzeugt werden.</h3>
        <form action="http:/"+"/194.93.56.2:8080/anmelden" method="POST"> <input type="text" name="anmeldecode"><button type="submit">Anmelden</button> </form>
        <br>
    </center>
</body>
</html>

वेबसर्वर(Filename.js)

const express = require('express'); 
const bodyParser = require('body-parser'); 
const path = require('path'); 
const Discord = require('discord.js'); 
const client = new Discord.Client(); 
const app = express(); 
app.use(bodyParser.urlencoded({ extended: true })); 

app.post('/example', (req, res) => { 
    res.send(`Full name is:${req.body.fname} ${req.body.lname}.`); 
}); 
app.post('/prefixchange', (req, res) => { 
    res.send(`Neuer Prefix: ${req.body.prefix}.`); 
}); 
app.post('/nicknamechange', (req, res) => { 
    res.send(`Neuer Name: ${req.body.nickname}.`); 
}); 
app.get('/', (req, res) => { 
    res.status(200).sendFile(path.join(__dirname, '/anmelden.html'));
}); 
app.post('/anmelden', (req, res) => { 
    var anmeldecode = req.body.anmeldecode; 
    console.log("Anmeldung: "+anmeldecode); 
});
app.post('/anmeldg', function(req, res) { 
    if (req.body.anmeldecode == "ADMIN") {
        res.status(200).sendFile(__dirname+'/wumpy.html');
    }
    else {
        res.status(200).sendFile(__dirname+'/anmeldeerror.html');
    }
}); 
app.get('/interface', (req, res) => { 
    res.status(200).sendFile(__dirname+'wumpy.html');
}); 
app.get('/beta', (req, res) => { 
    res.status(200).sendFile(__dirname+'index.html');
}); 

app.listen(80, () => { 
    console.info('Running on port 80');
});

var guilds = []
client.guilds
    .forEach(guild => {
        guilds.push({id: guild.id, name: guild.name})
    })


app.use((err, req, res, next) => { 
    switch (err.message) { 
        case 'NoCodeProvided': 
            return res.status(400).send({ 
                status: 'ERROR', 
                error: err.message, 
                }); 
                default: 
                    return res.status(500).send({ 
                        status: 'ERROR', 
                        error: err.message, 
                    }); 
    }
});

मैंने कंसोल में बंद कर दिया लेकिन वहां कुछ भी नहीं, केवल Running on port 80

0
Dr. Tigga 6 सितंबर 2019, 13:26

2 जवाब

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

आपने / रूट के लिए पोस्ट अनुरोध घोषित नहीं किया है। कृपया उस यूआरएल के लिए मार्ग घोषित करें जिस पर आप अनुरोध पोस्ट कर रहे हैं

-1
MUHOTASIM FUAD 6 सितंबर 2019, 10:31

क्या आपने अपने कोड का भी निरीक्षण किया है? या यह एक SO टाइपो है

<form action="http:/"+"/194.93.56.2:8080/anmelden" method="POST"> <input type="text" name="anmeldecode"><button type="submit">Anmelden</button> </form>

कार्रवाई टूट गई है; यह "http: /" को लक्षित करता है, बाकी को एक अलग प्रोप के रूप में देखा जाएगा, वह + क्यों है।

इसके अलावा कुछ लोगों ने कहा, आपका एक्सप्रेस पोर्ट 80 के लिए कॉन्फ़िगर किया गया है, और आप 8080 पर पोस्ट कर रहे हैं (या यदि आपका एचटीएमएल खराब नहीं हुआ है तो आप होंगे)।

अपने HTML के लिए एक उचित IDE का उपयोग करने का प्रयास करें यदि इससे मदद मिलती है, JSFiddle भी उस HTML के साथ चेतावनियाँ फेंकता है

0
Mathijs Segers 6 सितंबर 2019, 10:53