layui弹出层post请求

遇到的问题:


在点击查看二维码时,页面找不到。

我的请求是这样的:

                        layer.open({
                            type: 2,
                            anim: 0,
                            title: "查看二维码",
                            area: ['35%', '70%'],
                            btn: ['关闭'],
                            content: ['${basePath!}/bookShelf/checkQrCode/'+qrCode,'yes']
                        });

原因:点击查看二维码layer.open弹出层发送的是get请求,而我传的参数是一个http地址,这样就导致请求地址错误。

题外话:(常规请求:通过属性 content 加载弹出框中的内容,因为需要在加载弹出框后,发送一个url请求动态加载数据,所以type设置为2)

解决:通过ajax发送post请求,把请求成功页放到layer.open的content中,因为我们是通过content来加载弹出层的内容的,这里content请求结果页面,所以type设置为1(0:信息框,默认;1:页面层;2:iframe层;3:加载层;4:tips层)。

代码如下:

                $.ajax({
                    url: '${basePath!}/bookShelf/checkQrCode',
                    type: 'POST',
                    data: {qrCode:qrCode},
                    dataType : "html",
                    success: function (result) {
                        layer.open({
                            type: 1,
                            anim: 0,
                            title: "查看二维码",
                            area: ['35%', '70%'],
                            btn: ['关闭'],
                            content: result
                        });
                    }
                });
在请求layui的弹出层需要传入的参数过多过长而不能使用get请求时,也可通过这种方式。

猜你喜欢

转载自blog.csdn.net/qq_23543983/article/details/80610366
今日推荐