Задать вопрос
gleber1
@gleber1

TypeError: object is not a function что она лезет ваще что хочет от меня?

angular
.module('starter', [])
.controller('UserCtrl', ['$scope', 'User', function($scope,  User) {
	 $scope.regInfo = {}; 
	 $scope.insert = function(){
	 	User = new User ();
	 	User.insert ($scope.regInfo);
		 }
}]) 
.factory('User', ['$http', function($http) {  
     function User(UserData) {  
          if (UserData) {  
               this.setData(UserData); 
          }  
     };       
     User.prototype = {  
          setData: function(UserData) {  
               angular.extend(this, UserData);  
          },
		  insert: function(regInfo){
			   $http({method: 'GET', url: 'http://car.bleg.ru/api.php?class=get_session&method=register&car_name='+regInfo.carwash_name+'&car_average_check='+regInfo.car_average_check+'&car_address='+regInfo.car_address+'&car_tags='+regInfo.car_tags+'&car_st_time='+regInfo.car_st_time+'&carwash_cl_time='+regInfo.car_cl_time+'&carwash_pos='+regInfo.car_pos+'&email='+regInfo.email+'&passwd='+regInfo.passwd+'&passwd2='+regInfo.passwd2})
	 			.success(function(data, status, headers, config) {
					 alert(data);
                })
				.error(function(data, status) { 
                     alert('ошибка епте');
                });
			  }
     };  
     return User; 
}]);

ваще вату я катал пацаны поэтому поменяю вопрос
Кароче стырил с хабра вот такую организацию а он отрабатывает один раз а потом ошибка кароче TypeError: object is not a function
Как быть
Все я проссал что к чему $scope.insert = function(){ вот из за этого паходу
  • Вопрос задан
  • 3022 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 2
Serhioromano
@Serhioromano
Web Developer
Вы в factory возврадаете функцию а это можно делать только в сервисе. В фактри можно вернуть только объект. То есть поемняйте .factory('User' на .service('User' или венните объект а не функцию которая становтся классом.
Ответ написан
Terminaft
@Terminaft
1) Судя по тому, что вы пытаетесь хранить начальное состояние, Вам нужно использовать сервис а не фабрику. И прототипы тут использовать не нужно
2) Вангую, что ошибка (которая возникает сейчас, а не которая указана в вопросе) возникает из-за того, что используемый API не поддерживает CORS (некорректно отвечает на OPTION-запрос). И вот тут уже ничего не поделаешь, поэтому дергайте его через бекенд
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
Уууу..... Развидеть....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы