Как опубликовать данные JSON в CodeIgniter Controller? - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть простая функция публикации jQuery, которая отправляет данные JSON на контроллер CodeIgniter.Пост успешно выполняется клиентом, но я не получаю ответ от сервера.Я довольно плохо знаком с CI, поэтому я уверен, что делаю это неправильно.

function post(){
        $.post("<?php echo base_url();?>index.php/user/create", {username:"testUser",password:"userpassword"},function(data) {
                var test = data;
        });
    }

Итак, я передаю две строки в действие create пользовательского контроллера.Чтобы проверить, я просто пытаюсь получить «имя пользователя» из опубликованных данных и отправить его обратно в вызывающую функцию.В настоящее время ответ пуст.

 public function create(){
        if($this->input->post('newuser')){
            $username = $this->input->post('username');
            $password = $this->input->post('password');

            echo json_encode(array('username'=>$username));
}

Может кто-нибудь дать мне подсказку?

Ответы [ 2 ]

0 голосов
/ 15 июня 2018
<script type="text/javascript">
 function post(){
  var url ="<?php echo base_url();?>index.php/user/create";
   $.post(url, {username:"testUser",password:"userpassword"},function(data) {
      console.log(data);
      var test = data;
   });
 }
</script>

Контроллер

В вашем контроллере вы проверяете нового пользователя методом post и не отправляете post new, поэтому если условие ложно, а ответ нул Вы должны проверить

$ this-> вход-> пост ( 'имя пользователя')

public function create(){
  if($this->input->post('username')){
    $username = $this->input->post('username');
    $password = $this->input->post('password');

    echo json_encode(array('username'=>$username));
  }
}
0 голосов
/ 18 февраля 2012

Вы проверяете, содержит ли сообщение ключ newuser, но вы отправляете только 2 строки с ключом 'username' и 'password'.Вам нужно изменить часть JavaScript на что-то вроде этого:

$.post("<?php echo base_url();?>index.php/user/create", {newuser: 1, username:"testUser",password:"userpassword"}...

Или просто удалите оператор if из функции create().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...