2016-03-29 10 views
0

携帯電話のブラウザでは[$injector:unpr] Unknown provider: AccountProvider <- Account <- loginCtrol http://errors.angularjs.org/1.4.9/$injector/unpr?po=AccountProviderエラーが発生します。タブレットやデスクトップブラウザでこのエラーは発生しません。このアプリはデスクトップブラウザ(Chrome)で正常に動作しています。angularjsインジェクタがモバイルブラウザで動作しません

私は、次のコードの構造を有する:

/app.js 
var app = angular.module('app', ['ui-router', 'controllers', 'services']); 

/services.js 
var services= angular.module('services', []); 

/controllers.js 
var controllers = angular.module('controllers', []); 

/services/account.js 
services.factory('Account', ['$http', function($http) 
{ 
return { 
    Login: function(username, password) 
    { 
     $http.post('/api/login', {username:username, password:password}). 
     then(function(result){ }); 
    } 
} 
}]); 

/controllers/loginCtrol.js 
controllers.controller('loginCtrl', ['Account', '$scope', function(Account, $scope) 
{ 
    $scope.login = function(username, password) 
    { 
     Account.Login(username, password); 
    } 
}]); 

答えて

0

あなたアカウントサービス間違った方法を登録しています。

あなたが書いたshoud:

controllers.factory('Account', ['$http', function($http) 
{ 
return { 
    Login: function(username, password) 
    { 
     $http.post('/api/login', {username:username, password:password}). 
     then(function(result){ }); 
    } 
} 
}]); 
+0

デスクトップブラウザでもアプリケーションが壊れます。 – user2889280

+0

私はファイルを移動しなければならなかったので、デスクトップブラウザはまだ動作しますが、モバイル、同じエラーで失敗します。 – user2889280

+0

あなたは、以下の方法であなたのサービスをしてください:app.service( 'Account'、["$ http"、function $ http){ this.Login = function(username、password){ $ http.post( '/ api/login '、{ユーザー名:ユーザー名、パスワード:パスワード})。 then(function(result){}); } }]); –

0

この問題は、モバイルWeb表示に関するされ、あなたは間違いなく、このタイプのエラーを取得し、古いモバイルビューを使用error.Ifのこのタイプを解決するために、あなたの携帯電話のWebビューを更新してください。

ありがとう

関連する問題