2017-01-13 53 views
0

在我的.config方法把這個刪除從URL

$locationProvider.html5Mode({ 
    enabled: true, 
    requireBase: false 
}); 

爲了修復手動刷新#,我看到過許多答案,購買它們都是指服務器處理請求的更改。有沒有辦法從前端純粹地解決手動刷新問題?我在我的應用程序中使用$ routeProvider來管理路由。

任何想法?

+0

爲什麼要刪除'#'?任何特定的原因? – pravs

+0

@pravs是的,我正在與第三方SDK進行集成,這個SDK需要我的網址,併爲我提供另一個帶有參數的網址,但是當#存在時,它不能正常工作。不幸的是,我沒有選擇,我必須使我的應用程序沒有# – MarBVI

+0

我使用html5Mode後有類似的問題,通過限制自己到角1.5.x和使用#解決它。我正在尋找解決方案,它將從URL中刪除#。將在一天內更新 – pravs

回答

0

不,沒有別的辦法。

當您刪除#!從服務器將嘗試實現該請求的URL中,但它不知道該部分通常會在#!之後出現。

服務器端的更改將確保服務器始終以您的角度應用程序的基址爲響應。這樣瀏覽器就不會刷新,因爲它知道它已經加載了該文件。

-1

你可以分享你的代碼嗎?你的head標籤中有'base href'嗎?

您也可以在控制器中使用$ route.reload()重新加載路由

+0

with requireBase:false我不需要基本標記...另外,由於索引沒有被加載,我不能訪問控制器。我認爲你並不瞭解這個問題 – MarBVI