加载数据存储区Extjs动态指定代理

时间:2015-02-08 10:51:05

标签: java servlets extjs

我是ExtJs的新手。我正在使用JSP开发一个Web应用程序。在那里,有一个名为servlet的{​​{1}}。当我使用ShowProductInferenceServlet调用访问servlet时,它会返回一个很好的响应。以下是使用AJAX的{​​{1}}来电。

AJAX

现在jQuery工作正常,我想使用$.get("ShowProductInferenceServlet", { levelFlag : levelFlag, level1 : selectedCategory, level2 : selectedSubCategory, level3 : selectedProductName, level4 : selectedMaxQty, }, function(responseText){ alert("Shown Inference : " + responseText); }); 的响应来填充servlet。我正在为datastore动态创建servlet,因为有其他proxy使用相同的数据库,如果我为{{1}声明datastore,我会遇到锁定问题事先。这是我用于servlets的代码。

proxy

以下是动态分配datastore及相关详情的代码。

datastore

当我运行程序时,我在Web控制台中收到此错误。

var dataStorePrimaryInferences = Ext.create('Ext.data.Store', {
        storeId : 'dataStorePrimaryInferences',
        fields : [ 'code', 'text', 'confidence' ],
        autoLoad : false,
        proxy : {
            listeners : {
                exception : function(proxy, response, operation, eOpts) {
                    console.log('exception' + response.responseText);
                }
            }
        },
    });

错误的痕迹似乎指向proxy。有人能告诉我哪里错了吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我会说这是因为您设置代理的方式。也许你应该一次性设置它,如下:

dataStorePrimaryInferences.setProxy({
    type: 'ajax',
    url: 'ShowProductInferenceServlet',
    reader: 'json',
    root: 'result',
    extraParams: {
        levelFlag: levelFlag,
        level1: selectedCategory,
        level2: selectedSubCategory,
        level3: selectedProductName,
        level4: selectedMaxQty
    }
});