2017-07-02 12 views
0

を使用してPOSTすることはできません以下の通りです:私はこの1つを好きにコードを変更するとき、私はこのエラーTypeError: Cannot read property 'param' of undefinedを取得していますこんにちは、私はAnguarJsとデータをポストしようとしているが、いくつかのissues.My jsのコードを抱えていアンギュラJS

var app = angular.module('myApp', []); 
    app.constant('appUrl', 'http://localhost/zara/rest/'); 
/*---- categories fetch code -------*/ 
    app.controller('myController',['$scope','$http','appUrl', function($scope, $http , appUrl) { 

     $scope.newName = ""; 
    $scope.postForm = function() { 
     var data = $.param({ 
       name: $scope.newName 
      }); 

     $http.post("http://localhost/zara/rest/api_customerlogin.php", data).success(function(data, status) { 
      $scope.hello = data; 
      console.log(data); 
     }); 
    }; 
    }]); 

それから、私はこのエラーを受けました。

<script> 
    angular.module('myApp', []) 
    .controller('myController', ['$scope', '$http', function($scope, $http) { 
     this.loginForm = function() { 

      var user_data='user_email=' +this.inputData.email+'&user_password='+this.inputData.password; 

      $http({ 
       method: 'POST', 
       url: 'login.php', 
       data: user_data, 
       headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
      }) 
      .success(function(data) { 
     console.log(data); 

      }) 
     } 

    }]); 
    </script> 

はpage.Thisが私AnguarJs上の最初のプロジェクトそうでないthis.Thanksと非常にfamilerあるlogin.htmlとする投稿することができません。あなたは

http://localhost/zara/rest/api_customerlogin.php 

に投稿してみてくださいあなたの最初のコードで

+0

あなたがサービスファイルでそれを試していました:app.serivce(「サービス」、[$ HTTP、機能(){}]) – amrography

+0

いいえ、私はちょうどcodes.How上記とコードはこれで仕事にサービスを提供します試してみました? –

+0

'$ .param'とは何ですか?!、' var data = {name:$ scope.newName} 'としてデータを 'object'に変更します。 – Maher

答えて

0

あなたはこのURLへのあなたの第二の例ではlogin.phpを変更することを忘れていましたか?

+0

2番目のコードでは、ダミーのURL.URLをコードに貼り付けるだけで、コードに影響はありません。 –

0

あなたのブラウザにallow-orgin-accessプラグインを追加するまで、ポストリクエストはローカル環境では動作しない可能性がありますのでご注意ください。しかしそれは実際の働くウェブサイトで働く。

var app = angular.module('myApp', []); 

app.constant('appUrl', 'http://localhost/zara/rest/'); 

app.controller('myController',function($scope, service, appUrl){ 

    $scope.newName = ""; 
    $scope.loading = false; 

    $scope.postForm = function() { 

    var data = $.param({ 
      name: $scope.newName 
     }); 

    $scope.loading = true; 
    service.makeThisRequest(appUrl + 'api_customerlogin.php', data).then(function(data){ 
     $scope.hello = data; 
     console.log(data); 
     },function(error){ 
     console.log(error); 
     }).finally(function(){ 
     $scope.loading = false; 
     }); 

    }); 

}]); 

app.factory('service', function ($http) { 
    return { 
     makeThisRequest : function(url,params){ 
     return $http.post(url,params); 
     } 
    }; 
}); 
+0

説明 '$。param'どうぞ!何のため? – Maher

+0

URLクエリー文字列またはAjaxリクエストでの使用に適した配列、プレーンオブジェクト、またはjQueryオブジェクトのシリアライズされた表現を作成します。 jQueryオブジェクトが渡される場合は、name/valueプロパティを持つinput要素が含まれている必要があります。 http://api.jquery.com/jquery.param/ – amrography

+0

私はすでにPHP側で原点を許可するコードを追加しました。 –

関連する問題