0

JSONパラメーターをASP.NET Webサービスに送信するためにajaxプロキシを使用しようとしていますが、残念ながらそれを機能させることができません. Ajax リクエスト (この投稿の最後を参照) を使用して目的の結果を得ることができましたが、ストアをロードするときは得られませんでした。

インターネットで見つけたさまざまな解決策を試しましたが、どれもうまくいきませんでした。何が間違っているのかを見つけることができません。Firebug は、JSON オブジェクトを送信していないか、JSON オブジェクトの子オブジェクトがないことを通知します (現在試しているソリューションによって異なります)。

var resourceStore = new Sch.data.ResourceStore({
        proxy : {
            type : 'ajax',
            url : 'http://80.146.239.188/SmartWeb/Utility/SmartourHandler.ashx',
            headers : {'Content-Type': 'application/json; charset=utf-8'},
            actionMethods: {
                read: 'POST'
            },
            noCache: false,
            reader : {
                type : 'json',
                root : 'result.vehicleInfos'
            },
            pageParam: undefined,
            startParam: undefined,
        },
        model : 'MyResource',
        autoLoad:false,
});

ストアのロード

this.scheduler.getResourceStore().load({params: Ext.JSON.encode({
        id: '1',
        method: 'getToursByDate',
        params: {startDate: '20120704', endDate: '20120704'},
    })
});

ああ、これが役立つと思います。次の ajax リクエストで目的の結果が得られるので、ストアの ajax プロキシを介して同じ結果を得る方法を誰かが教えてくれたら、私はとても幸せになるでしょう。

Ajax リクエスト

Ext.Ajax.request({
    headers: {
        'Content-Type': 'application/json; charset=utf-8'
    },
    method: 'POST',
    params: Ext.JSON.encode({
        id: '1',
        method: 'getToursByDate',
        params: {startDate: '20120704', endDate: '20120704'},
    }),
    url: 'http://80.146.239.188/SmartWeb/Utility/SmartourHandler.ashx'
});

事前に助けてくれてありがとう。

4

0 に答える 0