Как получить данные POST в контроллере codeigniter3

0

Я использую frontend angularjs и beckend codeignitor (3). Я хочу опубликовать данные в backend-контроллере. Но я не могу получить данные.

Вот мой html-

 <form>

            <fieldset class="form-group">
            <h3>Get data of your table</h3>
                <label for="exampleInputPassword1">Select coloumn value</label>
                <input type="text" class="form-control" ng-model="table.table_column" id="exampleInputPassword1" placeholder="table coloumn values">
                <small class="text-muted">Please enter valid data.</small>
              </fieldset>
              <fieldset class="form-group">
                <label for="exampleInputEmail1">Enter Table Name</label>
                    <input type="text" ng-model="table.table_name" class="form-control" id="exampleInputEmail1" placeholder="Enter Table Name">
                <small class="text-muted">Please enter valid table name.</small>
              </fieldset>

              <fieldset class="form-group">
                <label for="exampleInputPassword1">Where</label>
                <input type="text" class="form-control" ng-model="table.table_where" id="exampleInputPassword1" placeholder="Where">
                <small class="text-muted">Please enter valid value</small>
              </fieldset>
              <fieldset class="form-group">
                <label for="exampleInputPassword1">Value</label>
                <input type="text" class="form-control" ng-model="table.table_value" id="exampleInputPassword1" placeholder="Table Value">
                <small class="text-muted">Please enter valid value</small>
              </fieldset>

              <button type="submit" class="btn btn-primary" ng-click="submitForm(table)">Submit</button>
            </form>
    </div>

Вот мой контроллер angularjs function-

$scope.submitForm = function(table) { 
    $http.post("http://localhost/DatabaseApp/welcome/getData/",table)
        .success(function(response) {$scope.data = response});
}

Вот мой codeignitor function-

 function getData()
{  

        $table_column   =       $this->input->post('table_column');
        $table_name =           $this->input->post('table_name');
        $table_value    =       $this->input->post('table_value');
        $table_where    =       $this->input->post('table_where');

    print_r($table_name);

}

Поэтому, если кто-то может мне помочь, я был бы благодарен. Большое спасибо.

  • 0
    Дайте названия для входов
Теги:
codeigniter-3

2 ответа

0
Лучший ответ

конечно, вы не можете получить данные с массивом $ _POST, потому что угловые $ http отправляют данные запроса как строку, передаваемую так, что вы должны использовать:

$data = file_get_content("php//input");
$data = json_decode($data);
  $table_column   =       $data->table_column;
   $table_name =           $data->table_name;
   $table_value    =       $data->table_value;
    $table_where    =       $data->table_where;

Удачи

0

1) В тегах формы вы должны добавить method="POST" и action="~/nameController/nameAction".

2) Дайте имена для ваших входов.

<form method="POST" action="~/nameController/nameAction">
<input type="text" name="exampleInputPassword1"/>
 <!--You code here-->

</form>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню