2015-01-10 7 views
0

Я пытаюсь сделать тестовое приложение на основе приложения из учебника https://docs.angularjs.org/tutorial/step_00. Он работает нормально, но у меня есть метод post.Способ публикации вызывает ошибку

index.html

... 
<div class="control_panel" ng-controller="phonecatControllers"> 
      <button class="btn btn-default" ng-click="chiliSpicy()">Chili!</button> 
      <button class="btn btn-default" ng-click="sendData()">send!</button> 
</div> 
... 

controllers.js

'use strict'; 

var phonecatControllers = angular.module('phonecatControllers', []); 

phonecatControllers.controller('PhoneListCtrl', ['$scope', '$http', '$log', 
    function ($scope, $http, $log) { 
     $http.get('http://localhost:8080/webapp/rest/myresource/posts'). 
      success(function (data) { 
       $scope.posts = data; 
      }); 

     $scope.data = "hello world"; 

     $scope.chiliSpicy = function() { 
      $log.info('chili function'); 
     }; 

     $scope.sendData = function() { 
      $http.post('http://localhost:8080/webapp/rest/myresource/', {'data' : $scope.data})    
       .succes(function (data, status, headers, config) { // !!! here is line 39 
        $log.info('sent'); 
       }) 
       .error(function (data, status, headers, config) { 
        $log.error('not sent') 
       }); 
     }; 
    }]); 

Get метод работает нормально (показал HTML-код не содержит его использования), а также chiliSpicy функция работает. Но функция SendData кидает ошибку (где функция успеха)

TypeError: undefined is not a function 
    at l.$scope.sendData (http://localhost:8080/webapp/controllers.js:39:18) 
    at https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js:198:424 
    at chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:798:21 
    at l.$eval (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js:126:84) 
    at l.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js:126:310) 
    at l.scopePrototype.$apply (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:1478:22) 
    at HTMLButtonElement.<anonymous> (chrome-extension://ighdmehidhipcmcojjgiloacoafjmpfk/dist/hint.js:797:25) 
    at HTMLButtonElement.c (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js:32:363) 

На самом деле, сервер получает данные, но функция успеха не пройти. Есть идеи? Благодарю.

+0

потому что ваша функция успеха имеет только один аргумент? Также орфографические ошибки – ha9u63ar

ответ

1

Misspelled success, написанный как succes.

+1

Спасибо. Это действительно глупая ошибка. – jiri463

1

Опечатка. Это должен быть успех вместо «succes»

phonecatControllers.controller('PhoneListCtrl', ['$scope', '$http', '$log', 
    function ($scope, $http, $log) { 
     $http.get('http://localhost:8080/webapp/rest/myresource/posts'). 
      success(function (data) { 
       $scope.posts = data; 
      }); 

     $scope.data = "hello world"; 

     $scope.chiliSpicy = function() { 
      $log.info('chili function'); 
     }; 

     $scope.sendData = function() { 
      $http.post('http://localhost:8080/webapp/rest/myresource/', {'data' : $scope.data})    
       .success(function (data, status, headers, config) { // !!! here is line 39 
        $log.info('sent'); 
       }) 
       .error(function (data, status, headers, config) { 
        $log.error('not sent') 
       }); 
     }; 
    }]);