मेरे पास हेरोकू पर तैनात मेरे सर्वर (एक्सप्रेस का उपयोग) पर एक प्रतिक्रिया ऐप फ्रंट एंड पोस्टिंग डेटा है। कोड अच्छी तरह से काम करता है जब क्लाइंट और सर्वर दोनों लोकलहोस्ट पर चलते हैं, लेकिन जब यह हरोकू पर होता है, तो req.body को हमेशा खाली ऑब्जेक्ट {} मिलता है। क्या कोई बता सकता है कि यहाँ क्या गलत हो रहा है? अग्रिम में धन्यवाद :)

प्रतिक्रिया कोड:

axios.post("/api", data, {headers: { "Content-Type": "application/json;charset=utf-8" }})

एक्सप्रेस कोड:

const express = require("express");
const cors = require("cors");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(
cors({origin: URL,credentials: true}));
app.post("/api", (req, res) => {const data = req.body; console.log(data);};
1
Kiki 14 अप्रैल 2020, 15:38

1 उत्तर

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

यह मेरे कंप्यूटर पर पूरी तरह से चलता है। लॉग और प्रतिक्रिया ठीक काम करती है। आशा है कि इससे सहायता मिलेगी। मुझे लगता है कि समस्या यह हो सकती है कि आप POST अनुरोध के बजाय GET अनुरोध भेज रहे हैं।

const express = require("express");
const cors = require("cors");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cors({origin: new URL('http://localhost:3000'), credentials: true})) // Add this 'new' keyword to URL

app.post("/api", (req, res) => {
    const data = req.body
    console.log(data)
    res.send(data) // Added this to allow request to end
})

// Added this part to start the server listen.
const port = process.env.PORT || 3000
app.listen(port , () => {
    console.log('Server is running on port '+3000)
})
0
Andrés Muñoz 15 अप्रैल 2020, 05:46