Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

table 想在ajax请求到数据后,渲染之前进行操作;有相关回调没。done和complete两个回调都不管用 #1648

Open
4 tasks done
deilsky opened this issue Feb 22, 2024 · 12 comments
Labels
feature 功能请求 Feature Request

Comments

@deilsky
Copy link

deilsky commented Feb 22, 2024

议题条件

  • 我确认已查看官方使用文档:https://layui.dev ,但没有找到相关解决方案。
  • 我确认已在 Issues 中搜索过类似的问题,但没有找到相关解决方案。
  • 我已仔细阅读: 🍀 Layui Issue 贡献指南

议题类型

疑是 BUG

使用版本

v2.9.6

问题描述

如题,接口做限流操作;
当达到限流时,会有相关提示;
如,达到限流后,table不继续渲染,采用弹窗方式,友好的提示给操作者。
结合文档,发现complete方法,实际测试过程中发现,done方法,会早于complete方法执行;
想咨询一下大佬们,有相关方法么?

业务代码

table.render({
                id: option.elem,
                elem: '#' + option.elem,
                url: option.url,
                method: option.method,
                contentType: option.contentType,
                where: option.where,
                width: option.width,
                height: option.height,
                cellMinWidth: option.cellMinWidth,
                cellMaxWidth: option.cellMaxWidth,
                cols: option.cols,
                page: option.page,
                before: function (option){

                },
                done: function (res, curr, count, origin) {
                    console.log("done");
                    option.done(res, curr, count, origin);
                },
                complete: function (xhr,ts){
                    console.log("complete:"+ts);
                    console.log(xhr);
                    console.log("code:"+xhr.responseJSON.code);
                    if (xhr.responseJSON.code !== 0) {
                        return true;
                    }
                }
            });

截图补充

No response

浏览器

121.0.6167.185(正式版本)

演示地址

No response

友好承诺

  • 我承诺将本着相互尊重、理解和友善的态度进行交流,共同维护 Layui 良好的社区氛围。
@LSL1618
Copy link
Collaborator

LSL1618 commented Feb 22, 2024

看看 parseData回调方法

@deilsky
Copy link
Author

deilsky commented Feb 22, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

@LSL1618
Copy link
Collaborator

LSL1618 commented Feb 22, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

如果只是加工一下数据,它是最合适的。如果要阻止渲染并弹框提示又保留之前的数据,那table要采用data渲染模式,通过独立的ajax方法去加载数据并判断数据状态。

@deilsky
Copy link
Author

deilsky commented Feb 23, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

如果只是加工一下数据,它是最合适的。如果要阻止渲染并弹框提示又保留之前的数据,那table要采用data渲染模式,通过独立的ajax方法去加载数据并判断数据状态。

如果能有请求成功,和渲染前的回调就好。。。

@LSL1618
Copy link
Collaborator

LSL1618 commented Feb 23, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

如果只是加工一下数据,它是最合适的。如果要阻止渲染并弹框提示又保留之前的数据,那table要采用data渲染模式,通过独立的ajax方法去加载数据并判断数据状态。

如果能有请求成功,和渲染前的回调就好。。。

目前是没有的

@snowalk3671
Copy link

parseData方法,限流弹个窗,然后返回表格结存的原来的数据呢?
这只是思路,没有去验证。

@deilsky
Copy link
Author

deilsky commented Feb 23, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

如果只是加工一下数据,它是最合适的。如果要阻止渲染并弹框提示又保留之前的数据,那table要采用data渲染模式,通过独立的ajax方法去加载数据并判断数据状态。

如果能有请求成功,和渲染前的回调就好。。。

目前是没有的

哦,感谢回复

@deilsky
Copy link
Author

deilsky commented Feb 23, 2024

parseData方法,限流弹个窗,然后返回表格结存的原来的数据呢? 这只是思路,没有去验证。

嗯。这种不可取。

@deilsky
Copy link
Author

deilsky commented Feb 23, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

如果只是加工一下数据,它是最合适的。如果要阻止渲染并弹框提示又保留之前的数据,那table要采用data渲染模式,通过独立的ajax方法去加载数据并判断数据状态。

如果能有请求成功,和渲染前的回调就好。。。

目前是没有的

能把这个issue 弄成功能申请不。。。

@LSL1618 LSL1618 added the feature 功能请求 Feature Request label Feb 23, 2024
@LSL1618
Copy link
Collaborator

LSL1618 commented Feb 23, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

如果只是加工一下数据,它是最合适的。如果要阻止渲染并弹框提示又保留之前的数据,那table要采用data渲染模式,通过独立的ajax方法去加载数据并判断数据状态。

如果能有请求成功,和渲染前的回调就好。。。

目前是没有的

能把这个issue 弄成功能申请不。。。

指派了feature标签

@deilsky
Copy link
Author

deilsky commented Feb 27, 2024

看看 parseData回调方法
感谢您的回复!
但是,
跟那个基本没关系。我想实现的是,在请求接口成功,并拿到数据后,在table渲染之前 进行处理;
也就是说,当出现指定状态(如,限流等操作时),table中的数据不变,而不是出现把原来的table内容 替换成 "返回的数据不符合规范,正确的成功状态码应为"类似的errorView.

如果只是加工一下数据,它是最合适的。如果要阻止渲染并弹框提示又保留之前的数据,那table要采用data渲染模式,通过独立的ajax方法去加载数据并判断数据状态。

如果能有请求成功,和渲染前的回调就好。。。

目前是没有的

能把这个issue 弄成功能申请不。。。

指派了feature标签

感谢大佬!

@elylon1101
Copy link

使用Proxy完成
可以查看这个例子,这个例子里面处理了table ajax请求前缀和接口响应登录过期时调回登录页的功能。你可以看看,把登录过期的改成你的请求限流,应该是一样的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 功能请求 Feature Request
Projects
None yet
Development

No branches or pull requests

4 participants