Я пытался передать значение из ajax в контроллер codeigniter, используя метод post, но он возвращает void

Это с помощью simplejson

import simplejson

def _to_json(python_object) :
    if isinstance(python_object, tuple) :
        python_object = {'__class__': 'tuple',
                         '__value__': list(python_object)}
    else :
        raise TypeError(repr(python_object) + ' is not JSON serializable') 

    return python_object

def _from_json(json_object):                                   
    if json_object['__class__'] == 'tuple':
        return tuple(json_object['__value__'])
    return json_object


jsn = simplejson.dumps((1,2,3), 
                       default=_to_json, 
                       tuple_as_array=False)

tpl = simplejson.loads(jsn, object_hook=_from_json)
0
задан jerome victor 7 March 2019 в 11:53
поделиться

3 ответа

Вы используете $this->input->post('pid'), тогда вы должны использовать POST в ajax.
изменить

1: type: "GET", to type: "POST",
2: data: ({pid: pid}), to data: {pid: pid},
0
ответ дан Ashu 7 March 2019 в 11:53
поделиться

Проблема в том, что ваша страница перенаправляет все, что возвращается из первого запроса. пожалуйста, попробуйте заменить location.href = base_url+"index.php/product/displayprodt"; на console.log(response); или alert(response);

0
ответ дан CHATHURA 7 March 2019 в 11:53
поделиться

Я думаю, вам нужно создать контроллер для управления ajax-данными. Я приведу пример:

Контроллер

public function displayprodt()
{
      $pid = $this->input->post('pid',true);

           $data=array(
                'error' =>false,
                'title' => 'Edit Product',
                'result' => $this->ProductModel->displayprodt($pid),
            );


      header('Content-Type: application/json');
      echo json_encode($data ,JSON_PRETTY_PRINT);
}

Модель [ 115]

public function displayprodt($pid){
        $this->db->select("*");
        $this->db->from("todaysdeal_products");
        $this->db->where("product_id",$pid);
        $query = $this->db->get();
        return $query->result();
    }

Jquery

$('.edit-pdt').click(function(){
        var base_url = $("#base_url").val();
        var pid = $(this).attr("data-pid");
        alert(pid);
        $.ajax({
           type: "POST",
           url: base_url+"index.php/Api/displayprodt",
           data: ({pid: pid}),
           dataType: "JSON",
           success: function(response) {
             location.href = base_url+"index.php/product/displayprodt"; // or any url you want redirect.
           }
        });
  });

Надеюсь, вы найдете решение: ')

0
ответ дан Steve Good Job 7 March 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: