2015-09-17 9 views
6

में काम नहीं कर रहा है किसी कारण से यह आईई और क्रोम में काम करता है लेकिन सफारी और फ़ायरफ़ॉक्स नहीं।

$location.path(lastPath); 
$window.location.reload(true); 

इसके बजाय पिछले पथ को फिर से लोड की, $window.location.reload(true) वर्तमान पृष्ठ पुनः लोड है। जहां क्रोम में एक आईई रीलोड होता है, उसके बाद कोणीय $location.path(lastPath) होता है।

+0

आप 'location.reload()' क्यों कॉल करना चाहते हैं? साथ ही साथ '$ location.path() ' – charlietfl

+0

छोड़ें मैं ऐप को अपनी सभी सेवाओं में राज्य को फिर से लोड और साफ़ करने के लिए मजबूर करना चाहता हूं। –

+0

तो बस '$ window.location' के साथ यूआरएल सेट करें – charlietfl

उत्तर

2

धन्यवाद। नीचे इस मुद्दे को हल करता है।

$window.location.href = lastPath; 
2

आप ऐसा कर सकते हैं:

$window.location.href='#/home'; 
$window.location.reload() 
1

मैं कोणीय 1.5.6 के साथ कॉर्डोबा के साथ विकसित कर रहा हूँ। की सरल कार्रवाई:

$location.path("/someurl"); 
$window.location.reload(); 

क्रोम और एंड्रॉइड ऐप में काम करता है, लेकिन आईओएस ऐप नहीं। स्थान पथ बदल जाने के बाद सभी प्लेटफार्मों में क्या काम करता है, पुनः लोड कर रहा है।

यह $locationChangeSuccess ईवेंट का उपयोग करके हासिल किया जाता है। दिया गया एक पूर्ण नियंत्रक कोड है ताकि चीजें स्पष्ट हों। $ Location.path चिह्नित है, और $ window.location.reload() $ locationChangeSuccess हैंडलर में रखा गया है।

angular.module("demo").controller("LoginCtrl", function($scope, $http, $location, $window) { 

$scope.dologin = function() { 
    $scope.message = ""; 
    $http.post(app.baseurl + "/app/login", { 
     email: $scope.email, 
     password: $scope.password 
    }, 
    { 
     withCredentials: true 
    }).success(function(response){ 
     $location.path("/dashboard"); // <---   
    }).error(function(response) { 
     $scope.message = "invalid user/pass: "; 
    }); 
} 

$scope.$on('$locationChangeSuccess', function() { 
    $window.location.reload(true); // <--- 
}); 

});

संबंधित मुद्दे