首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用角routeProvider和快车路线

使用角routeProvider和快车路线
EN

Stack Overflow用户
提问于 2015-12-01 10:09:47
回答 2查看 730关注 0票数 2

我正在努力使routeProvider的管理我的应用程序的所有路线。我在app.js文件(客户端)中相应地定义了我的路由:

代码语言:javascript
复制
(function(){

var app = angular.module("Crowdsourcing", ["ngRoute"]);

app.config(function($routeProvider){
    $routeProvider
        .when("/single/:street/:buildingNumber/:apartmentNumber", {
            templateUrl: "/views/single.html'",
            controller: "ListingCtrl"
        })
        .otherwise({redirectTo:"/"});
});
}());

但是,当在浏览器上写入URL (例如/single)时,请求将由我的后端表示/节点api处理。因此,由于后端路由是/api/foo,所以找不到它。如何确保角的routeProvider总是管理我的请求?

更重要的是,应用程序的基本流程是什么?当客户端编写URL时,应用程序如何知道url是由express js还是由routeProvider处理的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-01 10:21:41

通常,您可以通过在主机名和页面URL之间使用#符号来区分由角度应用程序处理的URL和快递URL。

例如:

如果您想从后端请求一个URL,您将调用:http://host.com/api/foo/

相反,如果您想从您将调用的角应用程序中请求一个URL:http://host.com/#/single

因此,如果您想要调用角应用程序URL,您必须添加#符号。

这是一个非常重要的事实,您在使用单页应用程序时需要记住这一点。

更新:

看看这个种子项目:https://github.com/btford/angular-express-seed

它使用与您的项目类似的技术堆栈。这应该会让你更清楚。

票数 1
EN

Stack Overflow用户

发布于 2015-12-01 10:38:59

几天前我也遇到过同样的问题。问题是,即使在服务器调用数据时,也会将其重定向到$routeProvider中的客户端路由和搜索。

您需要确保在server.js中添加类似于下面代码的内容。这意味着,当出现以/api开头的调用时,它将将其重定向到服务器端的路由,而不是客户端路由。

代码语言:javascript
复制
var api = express.Router();
require('./app/routes')(api);
app.use('/api', api);

在您的工厂中,当我们按下面的方式调用时,这将转到服务器端routes.js而不是客户端。

代码语言:javascript
复制
$resource('/api/adduser')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34017697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档