Sdk Rally Analytics 2.0-错误413:请求实体太大

Sdk Rally Analytics 2.0-错误413:请求实体太大,sdk,analytics,rally,Sdk,Analytics,Rally,我一直在写一个应用程序,它使用回溯工具来获取某个项目在某个日期的总分。提取此信息的请求如下所示: getPointsOn: function(date, iOIDs, callback) { var params = {}; params.find = '{ Iteration: {$in: [' + iOIDs + ']}, PlanEstimate: { $gt: 0 }, __At: "' + date.toISOString() + '" }'; par

我一直在写一个应用程序,它使用回溯工具来获取某个项目在某个日期的总分。提取此信息的请求如下所示:

getPointsOn: function(date, iOIDs, callback) {
    var params    = {};
    params.find   = '{ Iteration: {$in: [' + iOIDs + ']}, PlanEstimate: { $gt: 0 }, __At: "' + date.toISOString() + '" }';
    params.fields = '[ "PlanEstimate", "Project" ]';

    Ext.Ajax.cors = true;
    Ext.Ajax.request({
        url: App.qURL,
        method: 'GET',
        params: params,
        withCredentials: true,
        success: function(response) {
            var points = {};
            Ext.Array.each(Ext.JSON.decode(response.responseText).Results, function(US) {
                if (points[US.Project] == undefined) points[US.Project] = 0;
                points[US.Project] += US.PlanEstimate;
            });
            callback(points);
        },
        failure: function() {
            console.log('Ajax Failed');
            callback({});
        }
    });
}
它返回一个带有项目/点对的对象,并在向其传递1-2个迭代对象时完美工作。问题是当我开始请求更大的数据集时。我一直收到“请求实体太大”错误。我认为这是请求本身的问题,尽管我不确定它怎么会“太大”。这一错误的可能原因是什么


谢谢

您可以执行Ext.util.Cookies.clear(cookieName)来删除cookie。通常,ALM的最大请求大小为8k,因此一个大的pref cookie与大量迭代OID结合在一起可能会达到该限制

另外,在SDK 2.0p4中还有一种更受完全支持的访问回望API的方法。


大型状态元素(如从选择器中选择的值)应与Ext.state.LocalStorageProvider实例一起存储,而不是与Ext.state.CookieProvider一起存储。假设不需要发送cookie来完成查询请求。

我已经解决了这个问题:在发出Ajax请求时,它试图附加一个我保存的cookie,而实际上它并不需要。有什么方法可以禁用此功能吗?Kyle,这看起来很棒,但在尝试提取数据时出现了一个错误:“Ext.error:您试图解码无效的JSON字符串”。你知道是什么原因造成的吗?还有,有没有办法不发送请求中的cookie?我希望保存它以供以后使用,但查询本身不需要它。
Ext.create('Rally.data.lookback.SnapshotStore', {
    listeners: {
        load: function(store, data, success) {
            //process data
        }
    },
    fetch: ['PlanEstimate', 'Project'],
    filters: [
        {
            property: 'Iteration',
            operator: 'in',
            value: iOIDS //an array
        },
        {
            property: 'PlanEstimate',
            operator: '>',
            value: 0
        },
        {
            property: '__At',
            value: date.toISOString()
        },
    ],
    autoLoad: true
});