Получение HTML вместо JSON в response.data [NodeJS, Axios, VueJS] - PullRequest
0 голосов
/ 26 октября 2019

Я довольно новичок как в NodeJS, так и в VueJS. Я хочу отправить объект с именем user из GET route в серверное приложение NodeJS и получить его в моем компоненте vueJS, используя axios для обработки запроса. Все, что я получаю, это HTML-строка в response.data вместо пользовательского JSON. Как получить объект JSON?

Я пытался добавить res.setHeader('Content-Type', 'application/json'); в GET-маршрутизатор, прежде чем делать res.json (пользователь) для отправки пользователю, но те же HTML-данные в vue.

У меня была другая ошибка, и я использовал CORS, я включил app.use(cors()) в мой файл nodeJS app.js. Нужно ли добавить к нему некоторую конфигурацию, чтобы получить объект JSON?

это из маршрутов / индекса.js (где у меня есть GET-маршрутизатор '/ dashboard')

router.get('/dashboard', function(req, res, next) {

  res.setHeader('Content-Type', 'application/json');
  //some code (to get user...)
  // the below line displays the user data as JSON in the browser
  res.json(user);
}

это из компонента vue, где я хочу получить пользователя как объект JSON и использовать его:

<script>
    import axios from 'axios';
    export default {
        name: 'DashboardIndex',
        data(){
            return {
                user: {},
            }
        },
        methods: {
            getUser(){
                axios
                .get("http://localhost:3000/dashboard/")
                .then(response => {
                    // response.data returns an html string
                    console.log(response);
                    this.user = response.data;
                })
                .catch(error => alert(error));
            }
        },
        mounted() {
            this.getUser();
        }
    }
</script>

это ответ, который я записываю на консоль:

{data: "<!DOCTYPE html><html lang="en" id="payments-over…14], Mon, 07 Oct 2019 09:23:47 GMT...</html>", status: 200, statusText: "OK", headers: {…}, config: {…}, …}

Я хочу, чтобы пользовательский объект был отправлен как объект JSON и смог получить его в компоненте vue. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...