如何将Ajax权限检查包装在函数中?

graf-8269

我通过Ajax进行了权限检查:

Ext.Ajax.request({
 url: [url_php],
 params: {
  ssid: Ext.util.Cookies.get("token"),
  access_id: 1000000057
 },
success: function(response, opts){
  res = Ext.decode(response.responseText);
  if (res.success == true) {
   Ext.getCmp('CardUser').setHidden(false);
  }
 },
});

事实证明会有很多。可以将其输出到一个单独的函数中,例如为了代码的紧凑性吗?

亚瑟·鲁本斯

因此,您可以覆盖Ext.Component以在其中添加权限机制。将会是这样的:

Ext.define('overrides.Component', {
    override: 'Ext.Component',

    accessId: false,
    initComponent: function () {
        this.callParent();
        if (this.accessId) {
            this.checkPermissions()
        }
    },

    checkPermissions() {
        Ext.Ajax.request({
            url: 'checkPermissions.json',
            params: {
                ssid: Ext.util.Cookies.get("token"),
                access_id: this.accessId
            },
            success: function (response, opts) {
                res = Ext.decode(response.responseText);
                this.setHidden(res.success === true);
            },
            scope: this
        });
    }
});

“ Ext.Component”是所有Ext元素(文本字段,表单,网格..工具栏)的基类。因此,所有子组件都将获得此功能。

在下面的小提琴示例中,gui子元素发出ajax请求并在成功后将其自身隐藏:false(随机)。只需重新运行该应用程序即可查看结果。

小提琴

当然,您必须根据需要编辑此解决方案。

该解决方案的缺点:

  • 您将提出很多不好的ajax请求,最好实现一些批处理模式机制。
  • 如果默认情况下隐藏了组件,则将显示该组件,因此您还需要实现此逻辑。……

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将参数传递给JS函数而不将其包装在匿名函数中?

来自分类Dev

如何将DropDownList包装在GridView FooterTemplate中?

来自分类Dev

您如何将setTimeout包装在Promise中

来自分类Dev

如何将图像包装在winforms listview中?

来自分类Dev

如何将HTML元素包装在框中?

来自分类Dev

如何将<a>元素包装在表中?

来自分类Dev

如何将jQuery内容包装在H标签中?

来自分类Dev

如何将列表项包装在link_to中?

来自分类Dev

如何将UILabel包装在原型单元中

来自分类Dev

如何将python模块包装在tar中?

来自分类Dev

如何将子元素包装在父标签中?

来自分类Dev

如何将 div 包装在新的 div 中?

来自分类Dev

如何将类包装在高阶组件中?

来自分类Dev

如何将返回的json数据包装在回调函数中并在HTML页面中查看?

来自分类Dev

将代码包装在函数中

来自分类Dev

如何将常量放入 React 组件中,包装在 recompose 中

来自分类Dev

Javascript将链接的函数包装在单个函数中

来自分类Dev

如何将长代码行包装在google-code-prettify中

来自分类Dev

斯威夫特:如何将异步方法包装在同步方法中?

来自分类Dev

HAML遍历集合-如何将子元素组包装在唯一的父级中?

来自分类Dev

如何将每个Express JS请求包装在域或trycatch中

来自分类Dev

如何将img宽度的百分比包装在特定的div宽度中?

来自分类Dev

Flutter:如何将数学方程式包装在容器中?

来自分类Dev

如何将Flex Cloumns包装在移动设备的单行中

来自分类Dev

如何将长代码行包装在google-code-prettify中

来自分类Dev

如何将WCF客户端包装在共享库中

来自分类Dev

如何将jQuery Justified Gallery包装在Ember组件中?

来自分类Dev

如何将这组li元素包装在ul容器中?

来自分类Dev

如何将现有的iOS代码包装在新的Appcelerator模块中?

Related 相关文章

  1. 1

    如何将参数传递给JS函数而不将其包装在匿名函数中?

  2. 2

    如何将DropDownList包装在GridView FooterTemplate中?

  3. 3

    您如何将setTimeout包装在Promise中

  4. 4

    如何将图像包装在winforms listview中?

  5. 5

    如何将HTML元素包装在框中?

  6. 6

    如何将<a>元素包装在表中?

  7. 7

    如何将jQuery内容包装在H标签中?

  8. 8

    如何将列表项包装在link_to中?

  9. 9

    如何将UILabel包装在原型单元中

  10. 10

    如何将python模块包装在tar中?

  11. 11

    如何将子元素包装在父标签中?

  12. 12

    如何将 div 包装在新的 div 中?

  13. 13

    如何将类包装在高阶组件中?

  14. 14

    如何将返回的json数据包装在回调函数中并在HTML页面中查看?

  15. 15

    将代码包装在函数中

  16. 16

    如何将常量放入 React 组件中,包装在 recompose 中

  17. 17

    Javascript将链接的函数包装在单个函数中

  18. 18

    如何将长代码行包装在google-code-prettify中

  19. 19

    斯威夫特:如何将异步方法包装在同步方法中?

  20. 20

    HAML遍历集合-如何将子元素组包装在唯一的父级中?

  21. 21

    如何将每个Express JS请求包装在域或trycatch中

  22. 22

    如何将img宽度的百分比包装在特定的div宽度中?

  23. 23

    Flutter:如何将数学方程式包装在容器中?

  24. 24

    如何将Flex Cloumns包装在移动设备的单行中

  25. 25

    如何将长代码行包装在google-code-prettify中

  26. 26

    如何将WCF客户端包装在共享库中

  27. 27

    如何将jQuery Justified Gallery包装在Ember组件中?

  28. 28

    如何将这组li元素包装在ul容器中?

  29. 29

    如何将现有的iOS代码包装在新的Appcelerator模块中?

热门标签

归档