加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

extjs – ServiceStack MiniProfiler Ajax请求记录

发布时间:2020-12-16 02:54:49 所属栏目:百科 来源:网络整理
导读:所以,在我的Index.cshtml页面中,当我最初加载页面时,我有: @inherits ViewPage!DOCTYPE htmlhtml head script type="text/javascript" src="ext-all-debug.js"/script script type="text/javascript" src="app.js"/script script type="text/javascript" sr
所以,在我的Index.cshtml页面中,当我最初加载页面时,我有:

@inherits ViewPage
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="ext-all-debug.js"></script>
        <script type="text/javascript" src="app.js"></script>
        <script type="text/javascript" src="app.ext.js"></script>
        <script type="text/javascript" src="dump.js"></script>
        @ServiceStack.MiniProfiler.Profiler.RenderIncludes().AsRaw() 
    </head>
    <body> 
    </body>
</html>

好的,我可以看到它的分析索引,一堆ExtJS,以及服务器端的第一个ajax调用我的ServiceStack(在/ api / session中).

现在,在我的ExtJS表单中,当我点击它时,我有一个Customers选项卡向/ api / customers发送ajax请求,当我点击它调用/ api / orders时我有一个标签.

但是,当我开始点击,比如客户选项卡时,Miniprofiler不再将任何后续的ajax请求添加到列表中?我以为Miniprofiler可以记录ajax请求没什么特别需要做的吗?为什么不为我记录后续的ajax请求?我错过了什么?

解决方法

Nuget提供的当前版本不支持拦截ExtJS ajax调用.
似乎该功能有一个 pull request,但它尚不可用.

以下是我必须做的事情:

Ext.require('Ext.Ajax');
Ext.onReady(function () {
    Ext.Ajax.on('requestcomplete',function (e,xhr,settings) {
        if (typeof (MiniProfiler) != 'undefined') {
            var stringIds = xhr.getResponseHeader('X-MiniProfiler-Ids');
            if (stringIds) {
                var ids = typeof JSON != 'undefined' ? JSON.parse(stringIds) : eval(stringIds);
                MiniProfiler.fetchResultsExposed(ids);
            }
        }
    });
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读