2016-05-13 2 views
0

Я сделал несколько vimeo api-вызовов для получения видео, но когда я получаю запрос на сервере, он отвечает html на этом пути вместо данных с сервера. Я также использую angular-client-side-auth (https://github.com/fnakstad/angular-client-side-auth). Я новичок в этом, поэтому я боюсь понять, почему это происходит.HTTP-запрос отвечает html вместо json

server.js

app.get('/api/mostviewed', function (req, res) { 
    MostViewed.find({}, { _id: 0, iframe: 1 }, function (err, docs) { 
    res.json(docs); 
    }); 
}); 

внутри routes.js стороны клиента-AUTH в есть это, что вызывает все (Этот файл находится на стороне сервера):

{ 
    path: '/*', 
    httpMethod: 'GET', 
    middleware: [function(req, res) { 
     var role = userRoles.public, username = ''; 
     if(req.user) { 
      role = req.user.role; 
      username = req.user.username; 
     } 
     res.cookie('user', JSON.stringify({ 
      'username': username, 
      'role': role 
     })); 
     res.render('index'); 
    }] 
} 

Как может Я решаю это? Я хочу сохранить путь: '/ *' или изменить его, сохраняя подобную функцию, поэтому я могу получить свои данные с сервера. Или есть другой способ решить это?

EDIT: Решение

{ 
    path: '/api/mostviewed', 
    httpMethod: 'GET', 
    middleware: [Video.getmostviewed] 
}, 

внутри Video.js Я сделал это:

getmostviewed: function(req,res){ 
    MostViewed.find({}, { _id: 0, iframe: 1 }, function (err, docs) { 
    res.json(docs); 
    }); 
} 
+0

Вы можете добавить условие 'res.render ('индекс');' –

+0

Мог бы разработать более подробно об этом, предпочтительны с примером? – KujAslani

ответ

1

В вашем случае, клиент не может найти логику, соответствующую /api/mostviewed, таким образом, достиг /* и отображается html вместо от json.

Возможное решение

Добавить следующую аналогичную логику перед тем /*

{ 
    path: '/api/*', 
    httpMethod: 'GET', 
    middleware: [function(req, res) { // sample middleware logic 
     var role = userRoles.public, username = ''; 
     if(req.user) { 
      role = req.user.role; 
      username = req.user.username; 
     } 
     res.cookie('user', JSON.stringify({ 
     'username': username, 
     'role': role 
     })); 
    }] 
}, 
+0

Я приму это как ответ. Спасибо, что направили меня в правильном направлении. Отредактировано так, как я это сделал. – KujAslani

Смежные вопросы