我在调用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');
});
答案 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
正则表达式时,您将每条路线都匹配到*
。