2017-09-21 1 views
0
gesendet werden

ich mit einem Express-Backend bin mit reagieren Frontend alles gut funktioniert, aber gelegentlich bekomme ich FehlerCant gesetzt Header, nachdem sie

Cant Set-Header, nachdem sie

gesendet werden und Server bekommt down.i suchte einige Möglichkeiten, wie dieser Fehler passieren könnte, aber in meinem Code konnte ich solche Fälle nicht finden.Ich versuchte, so einfach wie möglich im Code zu sein.Kann jemand bitte zeigen Sie mir, was könnte das Problem sein?

Server.js Datei

// call the packages we need 
const addItem = require('./controllers/addItem'); 
const addCategory = require('./controllers/addCategory'); 
const addSubCategory = require('./controllers/addSubCategory'); 
const getSubCategory = require('./controllers/getSubCategoryByCategory'); 
const getCategory = require('./controllers/getAllCategory'); 
const getAllItems = require('./controllers/getAllItems'); 
const cors = require('cors'); 
const express = require('express'); 
// call express 
const app = express(); // define our app using express 
const bodyParser = require('body-parser'); 

// configure app to use bodyParser() 
// this will let us get the data from a POST 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 
app.use(cors()); 

const port = process.env.PORT || 8080; // set our port 

// ROUTES FOR OUR API 
// ============================================================================= 
const addItemRoute = express.Router(); // get an instance of the express Router 
const getCategoryRoute = express.Router(); 
const addCategoryRoute = express.Router(); 
const addSubCategoryRoute = express.Router(); 
const getSubCategoryRoute = express.Router(); 
const getAllItemsRoute = express.Router(); 

getCategoryRoute.get('/get_category', (req, res) => { 
    getCategory(res); 
}); 

addCategoryRoute.post('/add_category', (req, res) => { 
    addCategory(req.body.name, res); 
}); 

getSubCategoryRoute.get('/get_subcategory/:catId', (req, res) => { 
    getSubCategory(req.params.catId, res); 
}); 

addSubCategoryRoute.post('/add_subcategory', (req, res) => { 
    addSubCategory(req.body.name, req.body.cat_id, res); 
}); 

// code, name, quantity, length, description and subcategory id should be passed as parameters 
addItemRoute.post('/add_item', (req, res) => { 
    addItem(req.body.item, res); 
}); 

getAllItemsRoute.get('/get_items', (req, res) => { 
    getAllItems(res); 
}); 

// more routes for our API will happen here 

// REGISTER OUR ROUTES ------------------------------- 
// all of our routes will be prefixed with /api 
app.use('/api', addItemRoute); 
app.use('/api', getCategoryRoute); 
app.use('/api', addCategoryRoute); 
app.use('/api', addSubCategoryRoute); 
app.use('/api', getSubCategoryRoute); 
app.use('/api', getAllItemsRoute); 

// START THE SERVER 
// ============================================================================= 
app.listen(port); 
console.log(`Server started on port ${port}`); 

getAllCategories() Funktion

Object.defineProperty(exports, '__esModule', { 
    value: true, 
}); 
const pool = require('./connection'); 

module.exports = function (res) { 
    pool.getConnection((err, connection) => { 
    if (err) { 
     connection.release(); 
     return res.json({ code: 100, status: 'Error in connection database' }); 
} 

console.log(`connected as id ${connection.threadId}`); 

connection.query('select * from category;', (err, rows) => { 
    connection.release(); 
    if (!err) { 
    return res.json(rows); 
    } 
}); 

    connection.on('error', err => res.json({ code: 100, status: 'Error in connection database' })); 
    }); 
}; 

Antwort

2

Wenn Sie einen Fehler in connection.query() erhalten Sie eine Antwort mit res.json() senden. Dieser Fehler wird in connection.on('error') abgefangen, wo Sie eine weitere Antwort senden. Sie können nicht zwei Antworten auf dieselbe Anfrage senden. Es scheint, dass Sie in diesem Fall nicht wirklich brauchen connection.on() oder wenn Sie es haben, um andere Fehler zu fangen, senden Sie keine Antwort auf connection.query() Fehler.

Verwandte Themen