2016-05-23 9 views
0

角度のあるファクトリにオブジェクトを渡しているときにエラーがスローされています。

工場:

visitorApp.factory('loginRepository', function ($resource) { 

    return { 
     VerifyVisitor: $resource('/api/VisitorWeb/VerifyLogin', {}, { 
      query: { method: 'POST', params: {loginModel:loginModel}, isArray: true } 
     }) 

    }; 

}); 

私が通過しようとしています複雑なオブジェクトがloginModelです。

コントローラコールからファクトリへ。

visitorApp.controller('LoginController', function ($scope,$location,$route,loginRepository) { 
    $scope.submit = function (isValid) { 
     if (isValid) { 
      var loginModel = { 
       UserName: $scope.UserName, 
       PassWord: $scope.Password 
      }; 

      var response = loginRepository.VerifyVisitor.query(loginModel); 
      alert(response); 

     } 
    } 
}); 

Error: loginModel is not defined 

Web Apiメソッドが呼び出されています。

[HttpPost] 
     public string VerifyLogin(UserLoginDomainModel loginModel) 
     { 
      var msg = _loginService.Login(loginModel); 
      return msg; 
     } 

$ resourceを使用して要求を送信し、複雑なオブジェクトを渡す正しい方法ですか?

+0

Angularまたは.NET側でエラーが発生していますか? –

+0

@ MikeFeltman-エラーが角度jsの工場ファイルに入っています。ログインモデルとは何かを得ることができません。だから私は知ってほしいのは、右かどうかを渡すことです。 – ankur

+0

投稿したコードを見ると、依存関係を注入しているようには見えません。 – rrd

答えて

0

あなたのサービスは、次のようになります。

visitorApp.factory('loginRepository', function ($resource) { 
    return { 
     VerifyVisitor: $resource('/api/VisitorWeb/VerifyLogin', {}, 
     { 
     query: { 
      method: 'POST', 
      params: {loginModel: '@loginModel'}, 
      isArray: true } 
     }) 

    }; 

}); 

パラメータ変数は引用符で囲むと、@が付いています。

+0

とすることができます、それは動作するようでした。私はサーバー側でも電話を受けています。私はこのvar response = loginRepository.VerifyVisitor.query(loginModel);を使用してこのメ​​ソッドを呼び出しています。今、私はサーバーからの応答を待っていて、それを使って何かをしています。値が応答オブジェクトに入っていない – ankur

+1

この時点でサーバーにブレークポイントを設定し、入ってくるオブジェクトを検査し、期待どおりのものであることを確認してからそこから移動します。 –

+0

私は助けてくれるが、説明したいのは違う。 – ankur

関連する問題