Передача переменной Ajax в функцию Codeigniter - PullRequest
4 голосов
/ 06 мая 2010

Я думаю, что это просто.

У меня есть функция Codeigniter, которая берет входные данные из формы и вставляет их в базу данных. Я хочу Аяксифицировать процесс. На данный момент первая строка функции получает поле id из формы - мне нужно изменить это, чтобы получить поле id из поста Ajax (который ссылается на скрытое поле в форме, содержащее необходимое значение). Как мне это сделать, пожалуйста?

Функция My Codeigniter Controller

function add()
{
    $product = $this->products_model->get($this->input->post('id'));

    $insert = array(
            'id' => $this->input->post('id'),
            'qty' => 1,
            'price' => $product->price,
            'size' => $product->size,
            'name' => $product->name
        );

    $this->cart->insert($insert);
    redirect('home');
}

И функция JQuery Ajax

$("#form").submit(function(){
        var dataString = $("input#id") 
        //alert (dataString);return false;  
        $.ajax({  
            type: "POST",  
            url: "/home/add",  
            data: dataString,  
            success: function() {

            }  
        });
        return false;
    });

Как всегда, большое спасибо заранее.

Ответы [ 2 ]

5 голосов
/ 06 мая 2010
   $("#form").submit(function(){
        var dataString = $("input#id") 
        //alert (dataString);return false;  
        $.ajax({  
            type: "POST",  
            url: "/home/add",  
            data: {id: $("input#id").val()},  
            success: function() {

            }  
        });
        return false;
    });

Обратите внимание на параметр данных в методе ajax. Теперь вы можете использовать $this->input->post('id') как в методе контроллера.

4 голосов
/ 29 апреля 2012

Почему бы не хлопнуть до конца

url: "/home/add",

как

url: "/home/add/" + $("input#id").val(),

Тогда, я думаю, codeigniter будет воспринимать это как нормальный параметр ...?

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