2017-05-28 31 views
0

我可以在Codeigniter控制器中使用角度控制器的數據嗎?我需要這個數組$ scope.prosek。我想在我的Codeigniter控制器中使用它的數據並將其提交給數據庫。從角度控制器到碼元控制器的分享日期

var MojApp = angular.module("MojApp", []); 

     MojApp.controller("SastojakCtrl", function($scope) { 
      $scope.hrana = js_array; 
      $scope.sastojci = []; 
      $scope.ukupno = {kalorije : 0.0,proteini:0.0,uh:0.0,masti:0.0,kolicina:0.0}; 
      $scope.prosek = {kalorije : 0.0,proteini:0.0,uh:0.0,masti:0.0}; 
+0

可以使數據的POST請求'$ scope.prosek'從AngularJS控制器你笨定義的路由。您可以從控制器爲該路線選取它。 –

+0

你能告訴我一個這樣的例子嗎?我對這些技術很陌生。 –

回答

0

這是您可以構建的示例。

var MojApp = angular.module("MojApp", []); 
 

 
MojApp.controller("SastojakCtrl", ['$scope', '$http', function($scope, $http) { 
 
    $scope.prosek = { 
 
    kalorije: 0.0, 
 
    proteini: 0.0, 
 
    uh: 0.0, 
 
    masti: 0.0 
 
    }; 
 
    $http({ 
 
    method: 'POST', 
 
    url: '<api_host>/test/create/', 
 
    data: $scope.prosek, 
 
    }).then(function(res) { 
 
    // do something with response from CI 
 
    }, function(err) { 
 
    console.log(err); 
 
    }); 
 
}]);
<head> 
 
</head> 
 

 
<body ng-app="MojApp"> 
 
    <div ng-controller="SastojakCtrl"></div> 
 

 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
</body>

CI中routes.php註冊的端點。再說了,

$routes['test/create'] = 'nutrition/create'; 

在控制器類,

class Nutrition extends CI_Controller { 
    public function create() { 
    $all = $this->input->post(); // this is data posted from the angular controller 

    } 

} 
+0

'input-> post()'是probaby空的,因爲'$ http'默認發送'application/json'。當然沒有在舊的代碼版本中工作<3 – charlietfl

+0

它是空的,所以我怎樣才能使它不是空的? :D –

+0

確保在請求URL中附加了正斜槓。 https://stackoverflow.com/a/16796532/5189811 –