Google 个图表生成的二维码问题

Issue with QR code generated by Google Charts

我正在为我的网站生成包含 URL 的二维码。除了 URL,我还必须向页面传递一些数据。作为传统方法,我在网站 URL

之后附加 # 后跟数据

例如:http://www.testing1234.com#myTestingData

然后使用Google图表将url(字符串)转换为QR码。但是在这个过程中,二维码只是针对字符串http://www.testing1234.com生成的。 '#'后面写的在生成二维码时不读取

我正在关注 Google Infographics 文档 我试过的是,

var cert_link = "http://www.testing1234.com#myTestingData";
var qr = "https://chart.googleapis.com/chart?chs=350x350&cht=qr&chl="+cert_link;

我期望输出的 QR 码包含完整的字符串 cert_link。但我得到的是一个只有数据 "http://www.testing1234.com"

的二维码

我不明白我在这里缺少什么。如何解决这个问题?或者对此有任何替代解决方案吗? 提前致谢

您需要 URL 将 # 编码为 %23

在JavaScript中,使用encodeURIComponent()

var cert_link = encodeURIComponent("http://www.testing1234.com#myTestingData");
var qr = "https://chart.googleapis.com/chart?chs=350x350&cht=qr&chl="+cert_link+";

这会将您的 link 变成 http%3A%2F%2Fwww.testing1234.com%23myTestingData 并且 Google 将能够从中生成二维码。