Angularjs Post方法

Angularjs Post方法,angularjs,angularjs-scope,Angularjs,Angularjs Scope,这里是HTML: .controller('LoginConnect', ['$scope', 'connecting', function(connecting, $scope){ $scope.user = {}; var inputLogin = $scope.user.login; var inputPassword = $scope.user.password; $scope.connect = function (){ connecting

这里是HTML:

.controller('LoginConnect', ['$scope', 'connecting',
function(connecting, $scope){
    $scope.user = {};
    var inputLogin = $scope.user.login;
    var inputPassword = $scope.user.password;
    $scope.connect = function (){
      connecting(ConnectingFactory);
    };
  }
])
.factory('connecting', ['$http','$q', function ($http,$q,inputLogin, inputPassword, ConnectingFactory){
var ConnectingFactory = {};
console.log(ConnectingFactory);
ConnectingFactory.login = function(){
       var deferred = $q.defer();
       $http({
           method: 'POST',
           url: "http://api.tiime-ae.fr/0.1/request/login.php",
           headers: {'Content-Type': 'application/x-www-form-urlencoded'},
           transformRequest: function(obj) {
               var str = [];
               for(var p in obj)
               str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
               return str.join("&");
           },
           data: {login: inputLogin, password: inputPassword}
           })
       .success(function(result){
          deferred.resolve(result);
          var promise = deferred.promise;
          promise.then(function(result){
            console.log(result);
            // jsonTab = angular.fromJson(result);
            //  $scope.result = result["data"];
        //  $scope.user.token = result["data"];
           });
         })
       };


       return ConnectingFactory;

}]);
;

输入您的姓名:
输入您的密码:
resulttat:{{result}

令牌:{{mytoken}}

数据:{{datab}





您好,我是Angular Js开发的新手,我没有错误,但没有发送到API的任何数据。我认为它们在我的函数“connect()”和工厂之间没有任何联系。你能帮我吗?

无论哪种方法都不要使用成功方法。这两种方法都已被弃用

$http legacy promise方法的成功和错误已被删除 不赞成。改用标准then方法。如果 $httpProvider.useLegacyPromiseExtensions设置为false,则这些 方法将抛出$http/legacy错误

这是捷径

    <!-- User Connection  -->
<form name="userConnect" ng-submit="connect()" novalidate ng-controller="LoginConnect">
  <label>
    Enter your name:
    <input type="text"
           name="myEmail"
           ng-model="user.login"
            />
  </label>

    <label>
    Enter your Password:
    <input type="password"
           name="password"
           ng-model="user.password"
            />
  </label>

<input type="submit" value="Connection">
<p>resultat : {{result}}</p>
<p ng-model="user.token">
  token : {{mytoken}}
</p>


<p ng-model="user.datab">
  datas : {{datab}}
</p>
<br><br><br>


</form>
下面是一个较长的
GET
方法示例

$http.post('/someUrl', data, config).then(successCallback, errorCallback);

关于工厂,请正确地将其称为
ConnectingFactory.login()

此外,正如哈里所指出的,这里的顺序是不正确的

$http({
  method: 'GET',
  url: '/someUrl'
}).then(function successCallback(response) {
    // this callback will be called asynchronously
    // when the response is available
  }, function errorCallback(response) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });

无论哪种方法都不要使用success方法。这两种方法都已被弃用

$http legacy promise方法的成功和错误已被删除 不赞成。改用标准then方法。如果 $httpProvider.useLegacyPromiseExtensions设置为false,则这些 方法将抛出$http/legacy错误

这是捷径

    <!-- User Connection  -->
<form name="userConnect" ng-submit="connect()" novalidate ng-controller="LoginConnect">
  <label>
    Enter your name:
    <input type="text"
           name="myEmail"
           ng-model="user.login"
            />
  </label>

    <label>
    Enter your Password:
    <input type="password"
           name="password"
           ng-model="user.password"
            />
  </label>

<input type="submit" value="Connection">
<p>resultat : {{result}}</p>
<p ng-model="user.token">
  token : {{mytoken}}
</p>


<p ng-model="user.datab">
  datas : {{datab}}
</p>
<br><br><br>


</form>
下面是一个较长的
GET
方法示例

$http.post('/someUrl', data, config).then(successCallback, errorCallback);

关于工厂,请正确地将其称为
ConnectingFactory.login()

此外,正如哈里所指出的,这里的顺序是不正确的

$http({
  method: 'GET',
  url: '/someUrl'
}).then(function successCallback(response) {
    // this callback will be called asynchronously
    // when the response is available
  }, function errorCallback(response) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });

在第二行而不是此函数(connecting,$scope){TRY function($scope,connecting){按注入顺序。$scope.connect=function(){connecting.login();};在第二行而不是此函数(connecting,$scope){TRY function($scope,connecting){按注入顺序。$scope.connect=function(){connecting.login());};