角度 JavaScript 清理网址
angular javascript cleaning URL
我有一个使用AngularJS开发的SPA应用程序。可以通过两种方式访问应用程序:
1) 通过输入地址(示例)www.example.com
,或
2)通过单击类似http://www.example.com?do=this¶m=1234
的链接
当应用程序启动时,它会检查 URL,如果找到合适的参数,它会提示用户登录/注册,然后转到应用程序中的特定页面,访问者应该在其中执行一些与操作相关的活动this
参数 1234
。
遍历页面由 javascript 命令处理:
$window.location.href="#/other_page;
.
到目前为止,这工作正常,除了 URL 与参数一起保留。因此,每当应用程序决定需要转到另一个页面时,URL(在浏览器的地址栏中)将如下所示:
http://www.example.com?do=this¶m=1234#/other_page
这会弄乱应用程序的行为。
我的问题是:一旦我能够从原始 URL 中提取收到的参数,我想清理 url 并继续其正常内容,如下所示:
http://www.example.com#/other_page
.
如何实现这一点?
提前谢谢。
使用$location服务清除浏览器地址栏中的搜索查询参数。
语法为:
$location.search({});
例如,完成登录或注册页面后。
$scope.login = function(){
// Check your logic and clear search params
if($routeParams && $routeParams.src)
{
$location.search({});
$location.path($scope.baseurl+$routeParams.src);
}
};
在这里使用$routeParams服务,您也可以检查$window.location.search
$location服务。它说:
对地址栏中 URL 的更改将反映到$location服务中,对$location所做的更改将反映在浏览器地址栏中。
所以,基本上你可以做到:
$location.path('other_page')
这应该清除 URL 并设置此路径。
刚刚找到一个可行的解决方案。我使用以下命令:
$window.location.href = location.protocol +
"//" +
location.host +
"/index.html#/other_page" ;
这就成了诀窍。也许不是最优雅的,但它可以根据需要工作。
谢谢你们(@vivek和@prakashA)的支持。
- 如何从角度 js 调用 javascript 方法
- 如何在codeigniter中包含如下所示的角度javascript
- JavaScript |角度 |UI 路由器:$urlRouterProvider使用参数重定向
- 如何使用非 Angular javascript 触发角度 ng 点击
- [JavaScript][角度]:类型错误:无法读取未定义的属性“getCityData”
- JavaScript具有从响应生成的角度嵌套对象模型(无限深)
- 角度和内置的javascript映射函数
- '角度'在Eclipse中Node Express项目的javascript文件中没有定义
- 如何在制作角度为2的搜索管道时过滤javascript对象
- 从角度重复循环中的javascript对象中删除元素
- 如何将javascript数组更改为角度模式形式的JSON对象
- javascript函数无法识别传递给它的角度变量
- 如何使用角度和javascript过滤Gmaps对象上的标记
- 如何在 JavaScript 函数中使用角度变量作为参数
- Javascript并使用MVC风格的模型(带有角度)
- 在 Javascript 中以 360° 角度移动图像
- 如何使用javascript/jquery中的某个类选择HTML页面上的所有角度字段
- 正弦函数精度在JavaScript角度PI rad和它的整数倍
- JavaScript 角度控制器从另一个控制器的作用域中获取值
- JavaScript |角度 |控制器作为语法:不能使用“this”