recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Pourquoi express et get res.sendFile renvoient-ils du texte HTML brut?

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 ?

PHP中文网PHP中文网2746 Il y a quelques jours930

répondre à tous(2)je répondrai

  • 淡淡烟草味

    淡淡烟草味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

    répondre
    0
  • PHPz

    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.

    répondre
    0
  • Annulerrépondre