2017-08-03 74 views
3

採用了棱角分明1.4如何角JS深層鏈接的效果

當我試圖進入在URL欄下面的網址,

https://application.com/movies/index.html?cd=1501739429812#/Movies/Action/2 

發送到服務器的第一個請求包含URL(網絡選項卡瀏覽器)

https://application.com/movies/index.html?cd=1501739429812 

只,但應用程序仍然加載請求的頁面。

它是如何通過#/Movies/Action/2加載正確的路線。

第一個請求從瀏覽器向服務器發送:

Request URL: https://application.com/movies/index.html?cd=1501739429812 
Request Method:GET 
Status Code:200 OK 
Referrer Policy:no-referrer-when-downgrade 
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 
Accept-Encoding:gzip, deflate, br 
Accept-Language:en-US,en;q=0.8 
Cache-Control:no-cache 
Connection:keep-alive 

的hashbang內容不通過。

enter image description here

任何幫助,將不勝感激。先謝謝你。

回答

1

你會在你的AngularJS路由配置中找到答案。哈希內容永遠不會傳遞給服務器,這就是許多開發人員在AngularJS路由中啓用HTML5模式時會遇到問題的原因。

如果您觀察到返回內容的回覆,您會注意到它沒有/Movies/Action/2的詳細信息。

但它確實有腳本來引導AngularJS及其路線。所以,一旦你的頁面被加載到瀏覽器中,AngularJS和路由機制就會介入。他們會觀察你的瀏覽器URL的哈希內容,並相應地採取行動(在你的情況下加載/Movies/Action/2)。