生成带参数的二维码
二维码生成
jquery好像有人写了相关的插件,但觉得没有必要,就上网找了一下生成二维码的接口,找了半天,也没有比较官方的接口,估计都是各个网站自己用的,然后被扒出来了。后来终于找到一个觉得还不错的,起码网站说了我们提供这一服务:联图二维码
http://qr.topscan.com/api.php?text=
,对了,这里不得不提一下草料,给了个链接 不支持自定义,可以生成当前网址的二维码,这里就不复合我的要求了,有兴趣的可以去看看。
带参数的二维码
刚开始,自己也没想这么多,那就直接把我们要生成的网址传给text就行呗,比如这样
http://qr.topscan.com/api.php?text=www.baidu.com?wenti=aaa&ways=xxx
上面参数都是乱编的,不用试了。后来查看二维码发现网址变成了下面这样
http://qr.topscan.com/api.php?text=www.baidu.com?wenti=aaa
大家一看也就明白了,就是&导致的问题,服务器认为&后面的内容是另一个参数,并不是text的值了。
还好联图也有提及到:
x 必须用UTF8编码格式,x内容出现 & 符号时,请用 %26 代替,换行符使用 %0A
那么问题就很好解决了
后台传值的问题
刚看时,我是直接在后台生成url,将&替换成了%26,结果一看还是不对,在网页中查看时,%26直接被解析成了&,据说这是charset-utf-8
的锅。
我的处理方式是:
传递的参数用Uri.EscapeDataString
进行编码,然后用js再解码了传递,搞定收工。