Я работаю над проектом, содержащим приложение и целевые страницы. Мы используем Nodejs с Ax ios и VueJs для части приложения. Но для целевых страниц это просто jQuery. Мне нужно выполнить несколько вызовов API для целевых страниц, но я не могу использовать результат NodeJs в jQuery для обслуживания данных на моих целевых страницах. Я новичок в NodeJs и этих технологиях. Вот мои коды:
мои маршруты:
const router = express.Router();
...
router.get('/api/items', myApiController.getItems);
NodeJs контроллер
module.exports.getItems = (req, res) => {
const response = myApiController.getItems();
if (response.status === 200) {
res.send({
status: 200,
data: response.data
})
} else {
res.send({
status: 404,
data: null
})
}
}
мой основной сценарий:
$.get("/api/items", function(data, status){
alert("Data: " + data);
var mylist = $("#mylist");
$.each(data, function(item) {
mylist.append($("<option />").val(item.name).text(item.name));
});
});
Даже если я получаю статус: 200, nodejs возвращает HTML страницы 404. Я не могу найти причину , И честно говоря не понимаю в чем причина. Кажется, это попытка получить страницу не существует, но я запрашиваю json из функции. Я пытаюсь заменить вызов метода контроллера на tra sh json, но ничего не работает. Вот что я пробую:
router.get('/api/items', function(req, res){
console.log('cc');
return res.json([{
'toto': 'toto',
'tata': 'tata',
}]);
});
Кажется, проблема с определениями маршрутов, но я не знаю, как исправить. Могло ли это быть что-то с маршрутизатором express? Не могли бы вы объяснить мне и помочь исправить это? Спасибо