求助:使用Google Chart API生成二维码的代码调试问题
修复Google Chart API生成二维码的问题
嘿,我帮你排查了下问题,你的代码主要有几个小问题导致无法运行,我给你整理了修复后的完整代码,顺便解释下关键点:
你的代码里的问题
- 重复引入了两个不同版本的jQuery(3.1.1和2.1.3),这会导致JS冲突,只需要保留一个版本就行
- 缺少Google Chart API的引入,而且没有加载二维码对应的组件包
- 代码片段不完整,没有处理输入和生成二维码的逻辑
完整可运行代码
<!DOCTYPE html> <html> <head> <!-- 只保留一个jQuery版本即可,这里选较新的3.1.1 --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <!-- 引入Google Chart API --> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> // 加载Google Chart的二维码组件 google.charts.load('current', {'packages':['qr']}); google.charts.setOnLoadCallback(init); function init() { // 绑定按钮点击事件 $('#generateBtn').click(function() { const inputText = $('#inputText').val().trim(); if (!inputText) { alert('请输入要转换的文本'); return; } // 创建二维码实例 const qrCode = new google.visualization.QRCode(document.getElementById('qrcodeContainer')); // 设置二维码参数 const options = { width: 200, height: 200, text: inputText }; // 绘制二维码 qrCode.draw(options); }); } </script> </head> <body> <div> <input type="text" id="inputText" placeholder="输入要生成二维码的文本"> <button id="generateBtn">生成二维码</button> </div> <!-- 用于显示二维码的容器 --> <div id="qrcodeContainer"></div> </body> </html>
关键说明
- 首先通过
google.charts.load加载二维码组件包qr,确保API资源加载完成后再执行逻辑 - 点击按钮时先获取输入框的文本,做非空校验避免生成空二维码
- 使用
google.visualization.QRCode类创建二维码实例,通过draw方法传入参数(尺寸、文本内容)来生成二维码 - 保留一个jQuery版本即可,避免版本冲突导致的未知错误
内容的提问来源于stack exchange,提问作者shahab
相关产品推荐
相关产品推荐

