Я делаю веб-приложение на основе оригинальной среды MEAN.js. Когда я хочу запросить локальный тестовый файл json с помощью метода $ http.get() в моем файле AngularJS, он вернул мой индекс html content.Is это проблема маршрутизации? Я не изменил исходный код маршрута mean.js (https://github.com/meanjs/mean), просто добавил метод $ http.get() в файле home.client.controller.js. Кто-нибудь может мне с этим помочь? Благодаря!
ответ
Это, скорее всего, происходит, потому что вы не определили конечную точку для этого конкретного запроса GET в своем приложении.
Каждый раз, когда вы делаете запрос на свой сервер (например, запрос GET на /my-request
), nodejs/express настроены в MEAN.js, чтобы ваш сервер попытался найти конечную точку для этого запроса, если он не находит каких-либо , что запрос будет обработан этим конкретным блоком кода (указанный в /modules/core/server/routes/core.server.routes.js
):
// Define application route
app.route('/*').get(core.renderIndex);
что будет в основном визуализации представления индекса.
Я не уверен, что вы используете специальный модуль или нет, если хотите, чтобы этот запрос обрабатывался по-другому в MEAN.js, вы можете указать свою конечную точку в своем файле маршрутов пользовательских модулей (или в core.server.controller.js
) как так:
// Define application route
app.route('/my-request').get(core.sendMyJSON);
Будьте осторожны, так как этот маршрут должен быть помещен перед тем один я уже упоминал ранее, в противном случае ваш запрос будет по-прежнему будут обрабатываться так же, как и вид индекса будет оказана и снова служил.
Тогда вам придется создать контроллер, который должен быть вызван для обработки этого запроса:
exports.sendMyJSON = function (req, res) {
// logic to serve the JSON file
};
Таким образом, вы должны быть в состоянии сделать это с некоторыми коррективами.
Примечание стороны: Я не совсем уверен, но я думаю, что если вы поместите файл в формате JSON в общедоступном каталоге вашего приложения вы должны быть в состоянии получить доступ к нему без необходимости дополнительной логики.