【发布时间】:2014-03-22 18:24:34
【问题描述】:
目前我有一个本地服务器在 localhost 上运行我的主页
理想情况下,我希望 url 有一个密钥,我将其发送到我的数据库以获取数据,然后主页加载该数据
例如,有人输入 localhost/4962 的 url,然后 4962 被发送到数据库,同时 localhost 加载。我正在使用 angularJS,所以我确实有办法通过这样做来获取 url...
var module = angular.module('app', []).run(function($rootScope, $location) {
$rootScope.location = $location;
});
然后 location.absUrl() 为我获取完整的 URL。
但显然 localhost/4962 没有页面,所以我只得到 404。 如何忽略 url 中的数字?另外我如何获得数字,如果哈希可以简化问题,我愿意做 localhost/#/4962。
编辑: 以下是一些有用的答案。这是我的选择 -
var app = angular.module("app", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when('/:message',
{
template: " ",
controller: "AppCtrl"
}).otherwise({redirectTo: '/'});
});
app.controller("AppCtrl", function($scope, $routeParams) {
$scope.model = {
message: $routeParams.message
}
//debugging
console.log($scope.model.message)
});
我需要拥有
<ng-view></ng-view>
在 index.html 中。 Angularjs using $routeProvider without ng-view 有一种方法可以避免添加 ng-view。下次试试。
【问题讨论】:
-
你为什么不解析 localhost/4962 ?您应该能够使用
/分隔符split整个网址。使用拆分方法。然后选择你要使用的部分。 -
我仍然有得到 404 的问题,除非我想用散列做类似 localhost/#/4962 的事情,但我想避免这种情况
标签: javascript php angularjs url