我正在使用rison对哈希中的视图状态进行编码。
以下是示例网址:
http://example.com/board/projects#(date:'2019-01-24',projects:!(5441))
Gmail如何识别它:
http://example.com/board/projects#(date:'2019-01-24',项目:!(5441))
顺便说一句,SE解析器也无法正确识别它:
http://example.com/board/projects#(date:'2019-01-24',项目:!(5441))
即使所有字符都是有效的URL字符,我也收到用户的抱怨,他们不能以gmail发送链接(这实际上是可能的,只是不会自动发生)。
是否有其他编码库或方法可以对哈希中的json对象进行编码,从而对gmail等解析器安全?
答案 0 :(得分:1)
标准URI encoding应该可以完成这项工作。
const base = "http://example.com/board/projects"
const data = "(date:'2019-01-24',projects:!(5441))"
const encoded_data = encodeURIComponent(data);
const final = base + '#' + encoded_data;
console.log(final);