当我单击按钮时,我想重定向到另一个网页。请找到以下代码
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");
它的作用是将其追加到当前网址,如下所示:
http://IP:Port/?myId=this-is-my-test-page2#http://IP:Port/?myId=this-is-my-test-page2
如何重定向到所需页面?
答案 0 :(得分:0)
我遇到了一个不太相似的问题,必须将变量转换为字符串,然后修改字符串。然后转换回正确的数据类型。
答案 1 :(得分:0)
Angular有其自己的路由。 #的所有右边都是Angular路由(客户端路由)。 #号左侧的所有内容都是MVC / WebApi路由(服务器端路由)。这是单页应用程序的本质。
如果要更改服务器端路由,则需要在服务器端进行重定向,因此向服务器发送更改URL的请求。如果要更改客户端(角度)路由,则需要在角度代码中使用“ $ location.path('')”。请注意,您不能在客户端的#号左侧更改任何内容。
您正在尝试更改网址的服务器端部分,因此您需要向服务器发出更改网址的请求。
有关这两者的更多信息,请参见this question:
答案 2 :(得分:0)
我尝试使用$ window.location并成功。其他方法均无效。
app.controller('myCtrl', ['$scope', '$window', function($scope, $window) {
$scope.redirect = function()
{
$window.location = "http://IP:Port/......";
};
}