2016-12-13 56 views
2

由於某些未知的原因,我有'#!'在Visual Studio調試時加入到我的應用程序的URL 2015年爲什麼有#!在我的角應用程序的網址

的URL看起來像這樣

http://localhost:58394/#!/customers 
http://localhost:58394/#!/ 

我已經找遍了所有的應用程序,如果這是某種形式的錯字,但我想不通這是哪裏來自。

我可以看到,在ASP.NET WEB API以及在ASP.NET核心Web API ...

對於前端我使用角度和角路由1.6.0

任何想法是從哪裏來的?

我不使用html5mode也不基礎標籤,我很高興爲#在那裏,現在,我只是不明白,爲什麼是感嘆號(!)在那裏......

這應用程序不能在網絡上部署,並且不使用任何可能使用#的外部服務!任何跟蹤或任何其他的標記。

感嘆號在最近纔剛剛出現,所以我猜這是由我使用的一些庫引起的。

我只是想知道爲什麼'!'在那裏,它迫使這個感嘆號在那裏。

+1

這不是由Visual Studio中添加的,它是由你的JavaScript框架 –

回答

4

我發現這個在angualr 1.6.0更新日誌

$位置: '!' 默認hashPrefix到(aa077e,#13812)

更改日誌:https://github.com/angular/angular.js/blob/master/CHANGELOG.md

變化:https://github.com/angular/angular.js/commit/aa077e81129c740041438688dff2e8d20c3d7b52

重大更改

哈希前綴$location散列的砰的URL已經從 空改變字符串「」到爆炸「!」。如果您的應用程序不使用 HTML5模式,或者在不支持HTML5模式, 的瀏覽器上運行,並且您尚未指定自己的哈希前綴,則客戶端URL 現在將包含「!」字首。例如,而不是 mydomain.com/#/a/b/c將變成mydomain/#!/a/b/c

恢復到老樣子只是使用

appModule.config(['$locationProvider', function($locationProvider) { 
    $locationProvider.hashPrefix(''); 
}]); 
+0

終於!一旦我重新檢查遷移1.5> 1.6注意事項(應該儘快完成),我終於找到了答案。試圖弄清楚這一點浪費了將近一天的時間。該死的 !正在讓我瘋狂。 – Snouto

1

如果要在申請this不具有對角

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

<head> 
    <base href="/"> 
    ... 
</head> 

散列砰的角度2,這就夠了,我想:

<base href="/" /> 

每您的評論似乎有些怎麼樣你開關哈希邦模式

配置:

$routeProvider 
    .when('/path', { 
    templateUrl: 'path.html', 
}); 
$locationProvider 
    .html5Mode(false) 
    .hashPrefix('!'); 

請參閱this

+0

加入我沒有使用html5mode也不基礎標籤,我很高興爲#現在,我只是不明白爲什麼在那裏的感嘆號(!)... – vidriduch

+0

@vidriduch請參閱編輯 –

+0

不知道作爲#!在我的情況是被反斜線包圍...... /#!/ – vidriduch

相關問題