Answers
对Angular.js了解不多,没太搞懂hash怎么在search前了……关于URI的格式是由 RFC 3986 规定的。
其中
?search=a
这种叫
query
,
#hash
叫
fragment
。
*
query
的规定是以
第一个
?
开始,至行尾或
#
结束。
*
fragment
以
#
为开始,行尾为结束。
也就是说
query
必须在
fragment
之前。
另外根据
query
和
fragment
字符限定的规定,两者中都可以含有
/
和
?
,但不可以含有
#
。(还有其它的限制,这里是简要的说法,因为我们此处要讨论以
?
和
#
开头的字串)所以Angular.js中出现的
http://example.com/#/some/path?search=a#hash
实际上是不符合RFC规定的。但是此处是为了给不支持HTML5的浏览器提供兼容支持,也是无奈之举。
淒然D奈落
answered 9 years, 10 months ago