2015-08-20 25 views
1

我想获得的代码在的jsfiddle读取并更改URL中的变量工作:

http://jsfiddle.net/edwardtanguay/3k4j4mz5/3

'use strict'; 
angular.module('myApp', []) 
    .controller('mainController', function ($scope, $location, $log) { 

    $scope.changeUrl = function() { 
     var path = $location.path(); 
     var id =Math.floor(Math.random() * 60) + 20; 
     $location.url(path + '?customer=' + id); 
     $log.info('path='+path); 
     $log.info('id='+id); 
    }; 

}); 

为什么上面的代码中不添加例如?customer=23在URL的末尾?代码不正确或者这是jsfiddle的限制吗?

回答

1

$location Developer guide

$位置服务提供了URL,路径检索,哈希

,所以你可以改变查询字符串这样的setter方法:

var id = Math.floor(Math.random() * 60) + 20; 
$location.search({customer: id}) 
+0

'$ location.url()'会自动调用'.search()'。 – Mike

+0

这是正确的课程 – MoLow

+0

谢谢,这是一个更简单的方法来设置它的URL变量它似乎和它在我的本地示例,但我试图让它在jsfiddle工作,但它不工作在那里:http://jsfiddle.net/edwardtanguay/3k4j4mz5/4/ –

2

你的例子应该可以工作,但这在jsfiddle中是不可能的。所以,是的,这是jsfiddle的限制。