2013-08-12 11 views
9

Błąd w przeglądarce Firefox w następujący sposób: TypeError: R jest niezdefiniowanaDlaczego po kliknięciu przycisku aktualizacji błąd TypeError: r jest niezdefiniowana?

Jest to przeglądarka chrome: Uncaught TypeError: nie można odczytać właściwość „dane” o nieokreślonej

Zrobiłem też film dla lepszego zrozumienia .

Błąd występuje, gdy zmieniłem wartości w polu

jsfiddle code

youtube video

zmiana kodu przycisk

 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(); 
       } 

      }); 
     } 
+0

nie można obejrzeć video niestety, ale ja dostaję następujący błąd w Chrome podczas wczytywania Bawisz: Port: Nie można ustanowić połączenia. Odbieranie końca nie istnieje. [VM] lastError (856): 29 Uncaught TypeError: Can not call method 'extend' of undefined – Vojtiik

+0

Teraz możesz zobaczyć Video –

+0

Twój JSFiddle nie generuje błędu dla mnie w chrome ani firefox. Czy to dla ciebie? – ryan

Odpowiedz

3

Powodem To dlatego, że metoda aktualizacji źródła danych jest wywoływana. Nie został ustawiony, co daje TypeError.

Możesz zrobić jedną z dwóch rzeczy.

  1. Ustaw metodę aktualizacji źródła danych tak, aby zawierała logikę zawartą w funkcji składowania. Aby móc dynamicznie kontrolować metodę (POST/PUT), musisz ustawić aktualizację jako funkcję. Powinieneś usunąć kod ajax z zdarzenia zapisu w tym momencie.
  2. Ustaw metodę aktualizacji na fikcyjną funkcję i użyj jej jako części zdarzenia zapisywania.

Oto przykład podejścia nr 2.

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

Zachowaj funkcję zapisywania zdarzeń, jak jest.

Zauważ, że dostaję błąd Uncaught SyntaxError: Unexpected number. Wierzę, że pochodzi on z właściwości LastClientsCount.

Fiddle: http://jsfiddle.net/mSRUe/23/

+0

Dzięki za odpowiedź, Czy możesz podać przykład w jsfiddle? –

+0

@objectjson dodano ... – ryan

+0

Otrzymuję ten błąd w przeglądarce Firefox: SyntaxError: missing; przed d.0 = wartość iw przeglądarce chrome chrome: Uncaught SyntaxError: Nieoczekiwany numer, dodałem również kod "LastClientsCount" również nadal daje error.http: // jsfiddle.net/psot98/mSRUe/24/ –

Powiązane problemy