Rally.data.WsapiDataStore缺少权限时没有结果
我正在调用Ext.create('Rally.data.WsapiDataStore',params),并使用load事件查找结果 我正在请求程序中的许多对象,用户可能有读权限,也可能没有读权限 这适用于用户有权限的查询。但是,如果用户没有权限,可能返回的结果为零,那么加载事件似乎根本不会触发。我希望它使用unsuccessful标志启动,或者返回空结果 因为我不知道请求失败了,所以我的程序一直在等待。如何判断此请求是否因安全原因而未能返回 顺便说一句,看看网络统计数据,我相信我的所有请求都会恢复到“200 OK”状态 以下是我用来创建各种数据存储的方法:Rally.data.WsapiDataStore缺少权限时没有结果,rally,Rally,我正在调用Ext.create('Rally.data.WsapiDataStore',params),并使用load事件查找结果 我正在请求程序中的许多对象,用户可能有读权限,也可能没有读权限 这适用于用户有权限的查询。但是,如果用户没有权限,可能返回的结果为零,那么加载事件似乎根本不会触发。我希望它使用unsuccessful标志启动,或者返回空结果 因为我不知道请求失败了,所以我的程序一直在等待。如何判断此请求是否因安全原因而未能返回 顺便说一句,看看网络统计数据,我相信我的所有请求都会恢
_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。你的代码看起来不错。我将进一步研究权限问题,并尽快答复。