节点js表示res.json()返回html而不是json

时间:2016-06-17 08:57:31

标签: node.js express

我在调用router.get()时遇到问题,我使用res.json()返回响应json但返回html 这是我的api.js

    var express = require('express');
var router = express.Router();
var marklogic = require("marklogic");
var conn = require('../env.js').connection;

var db = marklogic.createDatabaseClient(conn);

router.route('/akt')

    // Vraca usvojene akte
    .get(function (req, res) {
        res.json({message: 'TODO vraca usvojene akte'});
    })

    // Predlaganje akta
    .post(function (req, res) {

        db.documents.write(
        {
            uri: '/korisnik/1.xml',
            contentType: 'application/xml',
            collections: 'korisnik',
            content: '<entry-list><entry id="horror2"></entry></entry-list>'
        })

    })

    // Povlaci predlog akta
    .delete(function (req, res) {
        res.send({message: "TODO povlaci predlog akta"});
    });


router.route('/amandman/:akd_id')

    // Predlog amandmana na predlog akta
    .post(function (req, res) {
        res.send({message: 'TODO predlaganje amandmana na predlog akta'});
    })

    // Povlaci predlog amandmana
    .delete(function (req, res) {
        res.send({message: 'TODO povlaci predlog amandmana'});
    });



module.exports = router;

请有人告诉我我的错误在哪里,如果你需要更多文件,我也会给你。

编辑: 我注意到当我从server.js中删除这一行时一切正常,为什么会这样?

app.get('*', function(req, res) {
    res.sendFile(__dirname + '/public/index.html');
});

1 个答案:

答案 0 :(得分:1)

更改此

app.get('*', function(req, res) {
    res.sendFile(__dirname + '/public/index.html');
})

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/public/index.html');
})

使用index.html正则表达式时,您将每条路线都匹配到*