3

Ext JS 4.1.1 は、私が ASP.NET で設定したプロキシを壊しました。この問題を解決するには、バージョン 4.1.0 に戻す必要がありました。Sencha によって解決されるまで、この問題を放置しておこうと思いました。

JavaScript 例外:

"TypeError: Ext.resetElement is undefined" ==> "...s.styleProxyEl || (Ext.AbstractComponent.prototype.styleProxyEl" ==> ext-all-debug.js (26960 行目)

ここに画像の説明を入力

getStyleProxy: function(cls) {

    var result = this.styleProxyEl || (Ext.AbstractComponent.prototype.styleProxyEl = Ext.resetElement.createChild({
        style: {
            position: 'absolute',
            top: '-10000px'
        }
    }, null, true));

    result.className = cls;
    return result;
}, 

回避策:

バージョン 4.1.1 を使用する代わりに、ExtJS フレームワークのバージョン 4.1.0 をダウンロードします。

http://cdn.sencha.io/ext-4.1.0-gpl.zip

ここで何が壊れたのかを誰かが正確に説明できる場合は、その答えを正しいとマークします。これが私が使用しているプロキシです。

Ext.define('Ext.ux.AspWebAjaxProxy', {
    extend: 'Ext.data.proxy.Ajax',
    require: 'Ext.data',

    buildRequest: function (operation) {
        var params = Ext.applyIf(operation.params || {}, this.extraParams || {}),
                                request;
        params = Ext.applyIf(params, this.getParams(params, operation));
        if (operation.id && !params.id) {
            params.id = operation.id;
        }

        params = Ext.JSON.encode(params);

        request = Ext.create('Ext.data.Request', {
            params: params,
            action: operation.action,
            records: operation.records,
            operation: operation,
            url: operation.url
        });
        request.url = this.buildUrl(request);
        operation.request = request;
        return request;
    }
});
4

2 に答える 2

3

を使用していることを確認してくださいExt.onReady(function() { ... })。ExtJS は、呼び出しExt.resetElement前に設定されているものを使用しonReadyます。

于 2012-12-21T04:46:50.567 に答える
2

私にとって有効な別の回避策は、extオブジェクトを使用する前にこの要素を定義することです。

Ext.resetElement = Ext.getBody();
于 2012-10-13T14:41:25.283 に答える