0

現在のプロジェクトでは、angular の $http サービスを使用して、Kendo データ ソースで HTTP リクエストを作成したいと考えています。これは、このブログで説明されているように、応答インターセプターを使用しているためです。

http://www.espeo.pl/2012/02/26/authentication-in-angularjs-application

サーバーから JSON 形式で取得したデータを表示するために、アプリケーションで KendoUI Grid を使用しています。何らかの理由で、「トランスポート」オブジェクトで関数を指定し、完全なクエリ (example.com /odata/foo?$filter=barId lt 100)。

Kendo DataSource を次のように設定しました。

$scope.foo = new kendo.data.DataSource({
        type: "odata",
        pageSize: 25,
        serverPaging: true,
        serverFiltering: true,
        serverSorting: true,
        transport: {
            read: function (options) {
                $http({
                    url: '/odata/foo',
                    method: 'GET',
                    params: options.data
                })
                .success(function (result) {
                    options.success(result);
                });
            },
            parameterMap: function (options, type) {
                return kendo.data.transports["odata"].parameterMap(options, type);
            }
        }

angular の $http サービスを使用した HTTP リクエストは問題なく動作します。問題はありません。(URL?$filter=[filter expression])問題は、剣道データ ソースの「フィルター」オブジェクトからクエリ部分を取得できないようです。parameterMap オプションを使用してみましたが、それも望ましい結果が得られませんでした。

4

1 に答える 1