Jquery – Ajax y JSON

———
Archivo all.js
———


$(document).ready(function() {
   
    //Evento al presionar el boton "Comprar ahora!"
    $("#addtocart").click(function(){      
        alert("Comprar ahora!");
    });
   
    //Evento al cambiar la cantidad
    $('select#quantity').on("change", function(){
       
        alert( $(this).attr("value") );
        alert ( $('#property-group').find('li.selected').attr('jockey-variation-id') );
       
        var variation_id = $('#property-group').find('li.selected').attr('jockey-variation-id');
        var quantity = $(this).attr("value");
       
        //Ajax HTML
        $.post("/ajaxcart/text1",{
            variation_id:variation_id,
            quantity:quantity
        },function(data){
            $("#pari").html(data);
        });
    //EndAjax HTML 
       
    });
   
    //Evento al li
    $("#property-group li").click(function() {
        $('#property-group').find('li.selected').removeClass('selected');
        $(this).addClass("selected");
       
        var variation_id=$(this).attr('jockey-variation-id');
        var quantity = $('select#quantity').val();
       
        //Ajax JSON
        $.post("/ajaxcart/text2",{
            variation_id:variation_id,
            quantity:quantity
        },function(data){
            $("#pari").html(data.price);
           
        }, "json");
    //EndAjax JSON     
    });

});


Controlador: /controller/frontend/ajaxcart.php


class Controller_Frontend_Ajaxcart extends Controller {

    public function action_text1() {
        $data = "";
        if ($this->request->method() == 'POST') {
            $variation_id = $this->request->post('variation_id');
            $quantity = $this->request->post('quantity');
            $data = "Variation : " . $variation_id . " Quantity: " . $quantity;
        }

        $this->response->body($data);
    }

    public function action_text2() {
        $data = "";
        if ($this->request->method() == 'POST') {
            $variation_id = $this->request->post('variation_id');
            $quantity = $this->request->post('quantity');

            //Recuperarar la variacion y el stock_virtual
            $rs_variation = ORM::factory('product_variation')
                    ->where('product_variation.id', '=', $variation_id)
                    ->find();

            $array_variaton['price'] = $rs_variation->price;

            $data = json_encode($array_variaton);
        }
        $this->response->body($data);
    }
}
post-author