Rally.data.WsapiDataStore缺少权限时没有结果

Rally.data.WsapiDataStore缺少权限时没有结果,rally,Rally,我正在调用Ext.create('Rally.data.WsapiDataStore',params),并使用load事件查找结果 我正在请求程序中的许多对象,用户可能有读权限,也可能没有读权限 这适用于用户有权限的查询。但是,如果用户没有权限,可能返回的结果为零,那么加载事件似乎根本不会触发。我希望它使用unsuccessful标志启动,或者返回空结果 因为我不知道请求失败了,所以我的程序一直在等待。如何判断此请求是否因安全原因而未能返回 顺便说一句,看看网络统计数据,我相信我的所有请求都会恢

我正在调用Ext.create('Rally.data.WsapiDataStore',params),并使用load事件查找结果

我正在请求程序中的许多对象,用户可能有读权限,也可能没有读权限

这适用于用户有权限的查询。但是,如果用户没有权限,可能返回的结果为零,那么加载事件似乎根本不会触发。我希望它使用unsuccessful标志启动,或者返回空结果

因为我不知道请求失败了,所以我的程序一直在等待。如何判断此请求是否因安全原因而未能返回

顺便说一句,看看网络统计数据,我相信我的所有请求都会恢复到“200 OK”状态

以下是我用来创建各种数据存储的方法:

_createDataStore: function(params) {
    this.openRequests++;

    var createParams = {
        model: params.type,
        autoLoad: true,

        // So I can later determine which query type it is, and which program
        requestType:    params.requestType == undefined ? params.type : params.requestType,
        program:        this.program,

        listeners: {
            load: this._onDataLoaded,
            scope: this
        },
        filters: params.filters,
        pageSize: params.pageSize,
        fetch: params.fetch,

        context:    {
            project: this.project,
            projectScopeUp: false,
            projectScopeDown: true
        },
        pageSize:   1 // We only need the count
    };
    console.log('_createDataStore', this.program, createParams.requestType);

    Ext.create('Rally.data.WsapiDataStore', createParams);
},
这是一个加载的方法:

_onDataLoaded: function(store, data, successB) {
    console.log('_onDataLoaded', this.program, successB);
    ...

我只看到此函数是为帐户有权限的查询调用的。

您是否收到任何关于Defect.js或hierarchycalrequirement.js的请求?当我模拟问题时,您会看到TypeDefinition.js请求在构建模型时失败,因为用户没有访问指定项目的权限。这对我来说好像是个小虫子。您应该能够通过显式获取指定工作区类型的模型,然后在存储中使用该模型来解决此问题

Rally.data.ModelFactory.getModels({ 
    types: ['Defect', 'UserStory'], //more types, etc... 
    context: Rally.environment.getContext().getDataContext(), //use workspace
    success: function(models) {
        //your code here
    }
});

如果在浏览器调试器的“网络”选项卡中检查响应,请求中是否存在错误?另外,您是否可以发布一段代码片段,演示如何实例化存储?当我进行一个无效的查询加载时,调用的成功标志为false。好的,我已经添加了代码段。所有的网络响应似乎都返回一个“200OK”200响应在我们的API中是一个奇怪的现象-即使有错误的请求也会返回一个200。你的代码看起来不错。我将进一步研究权限问题,并尽快答复。