微信js-sdk文档中说,获取配置,需要上传当前页面的url,不包含#及其后面部分,那么如果我的网页是SPA,使用的是hashbang模式,每个url的形式都是example.com/#!/home,那么这里的#号是否会影响签名的正确性。
微信js-sdk文档中说,获取配置,需要上传当前页面的url,不包含#及其后面部分,那么如果我的网页是SPA,使用的是hashbang模式,每个url的形式都是example.com/#!/home,那么这里的#号是否会影响签名的正确性。
建议还是采用 history
模式。
然后才做地址签名的时候,取当前地址用以下代码:
document.URL
这是取当前文档地址,在IOS机器中也能避免 location.href
取地址不对的问题。
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.8k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
既然明确说明了不包含锚点,那就不应该把锚点计算进去,否则你的签名就是错的了。
比如下图的
location
对象:直接取
location.href
会导致锚点也被取到,可以考虑去掉,如但实际上,因为计算需要
ticket
之类的东西,为了避免暴露敏感信息,签名应该是后端计算好之后返回给前端的。而后端获取当前请求的 URL 时,因为锚点不会传递到服务器,是不会获取到锚点的,这种情况下可以不用关心这个问题。