2014-06-18 39 views
5

dan önce sorgu dizesini yerleştirir. Kredi satın almak için harici bir ödeme sağlayıcısı kullanan bir uygulamam var. Başarılı bir satın alma işleminden sonra ödeme sağlayıcısı, http://any.url/?orderNr=xxxx&outcome=SUCCESS numarasına yönlendirir. Bu url, UI Yönlendiricisi'ni kullanan bir AngularJS uygulamasıdır. kullanıcı http://any.url köküne geri geliyor ve pano yönlendirir zaten kayıt edildiğini ne zamanaçısal ui yönlendirici,

$stateProvider 
    .state('dashboard', { 
     url: '/dashboard', 
     templateUrl: 'views/dashboard.html', 
     controller: 'DashboardCtrl', 
     isAuthenticated: true 
    }) 
    .state('login', { 
     url: '/login', 
     templateUrl: 'views/login.html', 
     controller: 'LoginCtrl', 
     isAuthenticated: false 
     }); 

$urlRouterProvider.otherwise('/login'); 

: yönlendirici yapılandırma budur. Bu, ödeme yapmadan ödeme yapamayacağınız için ödeme yapamazsınız. Sorun, sorgu dizesinden sonra hashpanın yerleştirilmesidir, bu nedenle gösterge tablosunun URL'si http://any.url/?orderNr=xxxx&outcome=SUCCESS#/dashboard olur. DashboardCtrl'da $location.search() kullanarak sorgu dizesini alamıyorum. location.href ayrıştırmak değil, sorgu dizesi 'açısal yol' almak için herhangi bir yolu var mı?

+0

Başına

.state('dashboard', { url: '/dashboard?orderNr&outcome', 

? Örneğin, ödeme sağlayıcısının "http: //any.url/#dashbard? OrderNr = xxxx & outcome = SUCCESS" e yönlendirdiğini söyleyin. – merlin

cevap

0

#/dashboard rotası için sorgu dizesine ihtiyacınız varsa, URL yapılandırmasında parametreler belirtmeniz gerekir. Ödeme kuruluşu yönlendirir yerleri kontrol edebilir docs

İlgili konular