Основываясь на том, что сказал Грег , вы можете создать простой объект JavaScript, который будет выглядеть примерно так ...
Cart = function(){
this.add = function( productid ){
//jQuery Ajax method via PUT
}
this.remove = function( id ){
//jQuery Ajax method via DELETE
}
}
Этот CRUD объект будет интерфейсом JavaScript к вашей серверной корзине, который может / должен реализовать RESTful интерфейс.
Что касается отображения общего продукта, на сервере, возвращающем ответ XML, который содержит общие продукты. Этот XML-ответ для добавления Электронной машины может выглядеть примерно так:
<root>
<product price="250.0">Electronic Machine</product>
<commonproducts>
<commonproduct price="1.2">additional_item 1</commonproduct>
<commonproduct price="5.0">additional_item 2</commonproduct>
</commonproducts>
</root>
Вариант использования: купить Sanner
Cart = new Cart();
//Do Ajax call
xmlResponse = Cart.add(1);
//Parse XML response and get an array of products
commonProducts = $(xmlResponse).find('commonProducts');
//Iterate over the array
$().each( commonProducts, function(v,i){
//Format them as you please
})
Альтернатива состоит в том, чтобы разделить это на два метода и предоставить другой интерфейс для запросов, если продукт имеет общие продукты, и просто возвращать ответ об успешном или неудачном выполнении методов CRUD.
Надеюсь, это было полезно и имело смысл!