在进行HTTP调用时,Angular正在切断哈希及其后的所有内容。
示例:
http://sub.domain.com/api/$metadata#EndpointName
...变为
http://sub.domain.com/api/$metadata
无法找到告诉Angular不修改URL的方法。有什么想法吗?
目前使用Angular 4.0.0。
答案 0 :(得分:1)
首先,哈希符号用于标识当前文档中要查找的位置,因此使用它来表示服务器上的端点在语义上是不正确的。
您应该使用查询参数,而不是使用哈希。例如,http://sub.domain.com/api/$metadata?endpoint=EndPointName
据我所知,剥离哈希符号是Http
模块的角色实现
答案 1 :(得分:1)
我发现了这个:
片段参数URL的片段部分,后面的所有内容 哈希符号,是通常仅由客户端使用的信息, 例如浏览器,而不是由服务器处理。因此它是 讨论REST参数时无趣。唯一有趣的 item是否需要将实际哈希字符作为值发送 (而不是表示哈希控制符号)到其中一个 选项。在这种情况下,您需要对URL进行编码。
字符编码特殊字符在URL中由a编码 机制称为“百分比编码”。在这个机制任何角色 可以用百分号替换,后跟两位数 编码字符的十六进制值。如果是特殊字符 (例如哈希字符)需要作为实际数据发送,它们必须 被编码。可以选择对所有其他字符进行编码。
此处:https://www.soapui.org/testing-dojo/best-practices/understanding-rest-headers-and-parameters.html