节点js express res.json()返回html而不是json [英] Node js express res.json() return html not json

查看:95
本文介绍了节点js express res.json()返回html而不是json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have problem when a call router.get(), i am returning to response json using res.json() but it return html here is my 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;

请有人告诉我我的错误在哪里,如果您需要更多文件,我会给它.

Please can somebody tell me where is my error, also if you need some more file I will give it.

我注意到,当我从server.js中删除此行时,一切正常,为什么呢?

I noticed when I remove from server.js this lines everything works, why is that?

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

推荐答案

更改此内容

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

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

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

You match every route to index.html when using * regular expression.

这篇关于节点js express res.json()返回html而不是json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆