nodeJs + qr-image + express 生成二维码并在前台扫码案例

话不多说,直接上代码,如有什么不懂之处请点击此处查询。

服务器端代码:

var  express = require('express');
var app = express();
var qr = require('qr-image');
// 解决跨域
app.all('/',(req,res,next)=>{
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization');
    next();
});

app.post('/Code',(req,res)=>{
    let text = 'https://www.baidu.com';
    let svg_string = qr.imageSync(text, { type: 'svg' });
    res.send(svg_string);
})

var server = app.listen(3000,()=>{
    var host = server.address().address
    var port = server.address().port
    console.log('成功监听',host,port);
})

客户端代码:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>animate</title>
		<style type="text/css">
			.demo {
				display: flex;
				justify-content: center;
				line-height: 50vh;
			}
		</style>
	</head>
	<body>
		<div class="demo">
			<!-- <img src="/qr" alt="qrcode"> -->
		</div>
	</body>
	<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript">
		$.ajax({
		      async:true,//布尔值,表示请求是否异步处理。默认是 true。
		      url:"http://127.0.0.1:3000/Code",//规定发送请求的 URL
		      type:'post',//请求的方式
		      success:function (backdata) {//请求成功后返回的数据会封装在回调函数的第一个参数中
		        //通过backdata来获取所需要的数据
				console.log(backdata);
				let div = document.createElement('div');
				div.innerHTML = backdata;
				div.style='width:150px;height:150px;'
				document.getElementsByClassName('demo')[0].appendChild(div);
		      },
		      error:function () {//响应不成功时返回的函数
		        console.log('请求失败!')
		      },
		      dataType:'text'//设置返回的数据类型
		    })
	</script>
</html>

运行服务器段代码,生成svg格式,传向前端展示效果如下:
在这里插入图片描述
成不成功你扫一下二维码就知道了哦!!

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值