0
我有以下問題。在客戶端我有角路由,這樣的事情:Angularjs,從IE中刪除#url
...
$locationProvider.html5Mode(true);
$routeProvider.
when('/item/:item_id', { reloadOnSearch: false, templateUrl: '/views/main/partials/_item.html', controller: ItemCtrl }).
otherwise({redirectTo: '/login'}); // Default
...
和PHP服務器端的一些路由
$req=$_SERVER['REQUEST_URI'];
if(strpos($req,'/login') > -1){
include __DIR__.'/../views/login/index.php';
} else if(strpos($req,'/item/') > -1) {
include __DIR__.'/../views/item/index.php';
else {
include __DIR__.'/../views/login/index.php';
}
以外的所有IE的偉大工程,因爲當客戶端路由在IE中執行,網址從這個
myapp/item/123
改變這樣的事情
myapp/#/item/123
當服務器端在客戶端路由後收到這種請求url時,哈希標記後的所有數據都消失了,我無法區分應該使用哪條路由。我可以從網址中刪除#,或者做其他事情讓IE和服務器端和平生活?我試圖解決它失敗了。謝謝
事件$ stateChangeStart在這種情況下不起作用,但感謝提示,我使用$ routeChangeSuccess或$ routeChangeStart,它有助於解決問題。 Ajax請求沒有幫助,但我使用查詢參數重定向並在服務器端解析這些參數。這有點難看,或許有人會提出更好的建議 – IgorCh
呃......對於錯誤的事件名稱我很抱歉,使用'ui-router'時不提供'$ stateChangeSuccess',而不是純粹的AngularJS。 –