0

$http 呼び出しでは、url 部分で渡すことができるすべてのものは、サーバー アドレス、ユーザー名、およびパスワードを持っています。すべてを json オブジェクトとして渡すことはできますか? または、これに他のパラメーター (url など) を使用できますか? 成功の電話で何が起こっているのかを理解するのを手伝ってくれる人はいますか?

具体的には、私が苦労しているコードは次のとおりです。

app.factory('myFactory',function(){

var fact = {};
fact.getData = function(a){
    $http({method:'POST',url:'http://100.100.100.100:8080/xx/xx.xx'});
    $http.success(function(reply){a(reply)}
        );
};

return fact;

});


次のコードを参照してください。まだサーバーからデータを取得していませんが、同時にエラーもありません。

xapp.factory('loginData',function($http,$log){
    var fact = {};

    fact.getData = function(cred,cb){
        return
            $http({
                method:'post',
                url:'xxx.xxx.xxx.xxx:xxxx/xxxxxx',
                data:cred})
            .success(function(data,status,header,config){
                cb(data);
                })
            .error(function(data,status,header,config){
                $log.warn(status);
                });
    };

    return fact;
});


xapp.controller('mainController',function($scope,$log,$http,loginData){
    $scope.user = {uesr:'user',password:'123'};

    loginData.getData($scope.user,function(data){
        $scope.reply = data;
        });
});

コンソール ログに「未定義」が表示されます。http URL が正しい場合、問題はありますか?

4

2 に答える 2

1

これにより、ボディの送信の問題が解決されます。

  app.factory('myFactory', function($http) {
    return{
       getData : function(body) {
        return $http({
          url: 'http://100.100.100.100:8080/xx/xx.xx',
          method: 'POST',
          data:body
        })
      }
   }
 });


 app.controller('myCtrl', function($scope, $location, $http, myFactory){

    var body ={username:uname, password:pass};
    myFactory.getData(body).success(function(data){
       $scope.data=data;
    });
 });
于 2014-02-17T09:30:38.033 に答える