使用Angular 1.4
当我尝试在网址栏中输入以下网址时,
https://application.com/movies/index.html?cd=1501739429812#/Movies/Action/2
发送到服务器的第一个请求包含网址(网络标签Chrome)
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内容。
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:1)
您将在AngularJS路线配置中找到答案。哈希内容永远不会传递给服务器,这也是许多开发人员在AngularJS路由中打开HTML5模式时遇到问题的原因。
如果您观察到返回内容的响应,您会发现它没有/Movies/Action/2
的详细信息。
但它确实有一个脚本来引导AngularJS及其路由。因此,一旦您的页面加载到浏览器中,AngularJS和路由机制就会进入。它们会观察您的浏览器URL的哈希内容,并采取相应的行动(在您的案例中加载/Movies/Action/2
)。