2017-07-02 105 views
0

嗨,我嘗試後與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); 
     }); 
    }; 
    }]); 

我收到此錯誤TypeError: Cannot read property 'param' of undefined當我改變代碼贊一個然後我得到這個錯誤。

<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> 

不能張貼到login.html的page.This是我在AnguarJs第一個項目這樣不是很familer與this.Thanks。

+0

你有沒有嘗試在服務文件:app.serivce(「服務」,[$ HTTP,函數(){}]) – amrography

+0

不,我剛試過的代碼與上述codes.How將服務工作與此? –

+0

什麼是'$ .param'爲你做什麼?!,將你的數據更改爲'object'作爲'var data = {name:$ scope.newName}' – Maher

回答

0

在你的第一個代碼,您嘗試發佈到

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

你忘了你的第二個例子來改變login.php這個網址?

+0

在第二個我只是粘貼代碼與虛擬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對象的情況下,它應該包含具有名稱/值屬性的輸入元素。 http://api.jquery.com/jquery.param/ – amrography

+0

我已經在PHP端添加了允許源代碼。 –