Maison > Questions et réponses > le corps du texte
let express = require('express');
let db = require('./db/db');
let app = express();
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By", ' 3.2.1')
res.header("Content-Type", "application/json;charset=utf-8");
next();
});
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
let apiRoutes = express.Router();
apiRoutes.get('/seller', function (req, res) {
db.find(req.query.id, function (err, result) {
if (err) {
console.log('Error:' + err);
return;
} else {
let seller = result[0].toObject();
delete seller.goods;
delete seller.ratings;
res.json({
errno: 0,
data: seller
});
}
});
});
apiRoutes.get('/goods', function (req, res) {
db.find(req.query.id, function (err, result) {
if (err) {
console.log('Error:' + err);
return;
} else {
res.json({
errno: 0,
data: result[0].toObject().goods
});
}
});
});
apiRoutes.get('/ratings', function (req, res) {
db.find(req.query.id, function (err, result) {
if (err) {
console.log('Error:' + err);
return;
} else {
res.json({
errno: 0,
data: result[0].toObject().ratings
});
}
});
});
app.use('/api', apiRoutes);
app.listen(3000);
console.log('Listening on port 3000...');
Pourquoi
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
Ce qui est renvoyé est du texte HTML brut au lieu d'un fichier ?
Mais
var express = require('express');
var bodyParser = require('body-parser');
var db = require('./validate');
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
// respond with "hello world" when a GET request is made to the homepage
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
app.post('/dosomething', (req, res) => {
var message = req.body;
db.create(message.name, message.age, message.city, function (err, mes) {
if (err) {
throw err;
} else {
console.log(mes);
}
});
})
app.listen(1212);
console.log('is ok ...');
La page Web peut-elle s'afficher normalement ?
淡淡烟草味2017-05-17 09:58:57
Vous définissez d'abord l'en-tête
res.header("Content-Type", "application/json;charset=utf-8");
Le navigateur l'analysera selon json
Le deuxième n'est pas défini, la valeur par défaut est
Content-Type: text/html; charset=utf-8
Naturellement, il est analysé selon html
PHPz2017-05-17 09:58:57
Oui, définissez le Content-Type. Utilisez le navigateur Chrome pour voir si l'en-tête de la réponse http est correct.