【问题标题】:Share date from angular controler to codeigniter controler从角度控制器共享日期到 codeigniter 控制器
【发布时间】:2017-05-28 14:25:03
【问题描述】:

我可以在 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};

【问题讨论】:

  • 您可以从 AngularJS 控制器向您在 Codeigniter 中定义的路由发送 $scope.prosek 中的数据的 POST 请求。您可以从该路由的控制器中获取它。
  • 你能给我看一个例子吗?我是这些技术的新手。

标签: angularjs codeigniter


【解决方案1】:

这是一个可以构建的示例。

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>

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

  }

}

【讨论】:

  • input-&gt;post() 可能是空的,因为$http 默认发送application/json。当然在旧的 codeigniter 版本中不起作用
  • 它是空的,我怎样才能让它不为空呢? :D
  • 确保请求 URL 后附加了正斜杠。 stackoverflow.com/a/16796532/5189811
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
相关资源
最近更新 更多