首页 > 解决方案 > 使用按钮单击重定向到另一个页面

问题描述

当我单击一个按钮时,我想重定向到另一个网页。请找到以下代码

js

app.controller('myCtrl', ['$scope', '$location', function($scope, $location) {

$scope.redirect = function()
{
console.log($location.url());

};

}

我可以使用 $location.url() 获取当前网址,如下所示

http://IP:Port/?myId=this-is-my-test-page

我想要做的是当我点击一个按钮时我想重定向到以下页面

http://IP:Port/?myId=this-is-my-test-page2

我想编辑控制器内的现有 url 而无需对整个 url 进行硬编码,因为 IP 和端口可以更改。我怎样才能做到这一点?

虽然我使用$location.path("http://IP:Port/?myId=this-is-my-test-page2"); 了什么是它附加到当前 url 如下

http://IP:Port/?myId=this-is-my-test-page2#http://IP:Port/?myId=this-is-my-test-page2

如何重定向到所需的页面?

标签: htmlangularjsurl-redirection

解决方案


Angular 有自己的路由。# 右边的一切都是 Angular 路由(客户端路由)。# 符号左侧的所有内容都是您的 MVC/WebApi 路由(服务器端路由)。这就是单页应用的本质。

如果要更改服务器端路由,则需要在服务器端进行重定向,因此向服务器请求更改 url。如果要更改客户端(Angular)路由,则需要在 Angular 代码中使用“$location.path('')”。请注意,您无法更改客户端 # 符号左侧的任何内容。

您正在尝试更改 url 的服务器端部分,因此您需要向服务器发出请求以更改 url。

有关两者的更多信息,请参阅此问题:


推荐阅读