11

次のようにFirefoxブラウザのエラー: TypeError: r is undefined

これはクロム ブラウザです: Uncaught TypeError: Cannot read property 'data' of undefined

わかりやすいように動画も作りました。

フィールドの値を変更するとエラーが発生する

jsfiddle コード

ユーチューブビデオ

ボタンコードの更新

      save: function (e) {
            var that = this;
            $.ajax({

                url: '/api/apdevice',
                type: e.model.id == null ? 'POST' : 'PUT',
                contentType: 'application/json',
                data: JSON.stringify(e.model),
                success: function (data) {
                    alert('yes');
                    that.refresh();
                },

                error: function (data) {
                    alert('no');
                    that.cancelRow();
                }

            });
        }
4

1 に答える 1

3

これは、データソースの update メソッドが呼び出されているためです。を与える設定はされていませんTypeError

できることは 2 つのうちの 1 つです。

  1. 保存関数に含まれるロジックが含まれるように、データソースの update メソッドを設定します。メソッドを動的に制御できるようにするには、update を関数として設定する必要があります (POST/PUT)。この時点で、保存イベントから ajax コードを削除する必要があります。
  2. update メソッドをダミー関数に設定し、代わりに保存イベントの一部として処理します。

アプローチ 2 の例を次に示します。

var dataSource = new kendo.data.DataSource({
  ..
  update: function(e) { return true; }
  ..
});

セーブイベント機能はそのままに。

Uncaught SyntaxError: Unexpected numberエラーが発生していることに注意してください。私はこれがプロパティに由来していると信じていLastClientsCountます。

フィドル: http://jsfiddle.net/mSRUe/23/

于 2013-08-15T17:39:28.527 に答える