如何使用jQuery在Ajax中实现购物车?

时间:2009-03-06 10:56:56

标签: jquery ajax

我正在开发购物车。每个Product都有PriceSubCategory

产品:

ID Price    Product No ProductName
1  250.5$   esp1       Electronic Machine
2  500.0$   esp2       Scanner

用户可以通过选择以上Product中的任何一个来选择产品。 还有CommonProductProduct相关联。

CommonProduct:

Common_id   Price  Name
cs1         1.2$   Addional_Item1
cs2         5.0$   Additional_Item2

选择完成后,购物车将如下所示:

 Qty  Name                 Price
 1    Electronic Machine   256.7$
      Additional_item1
      Additional_item2
 1    Scanner             505.0$
       Additional_item2

我需要针对上述过程的实施思路。我很难将ProductCommon Product进行整合。

使用Ajax有一个很好的方法吗?

4 个答案:

答案 0 :(得分:2)

基于Greg所说的,您可以构建一个看起来有点像这样的简单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方法返回成功或失败响应。

希望这很有用并且有意义!

答案 1 :(得分:1)

这是一种非常通用的方式:

构建用于界面的Web服务。使用JQuery与Web服务进行交互。小心要求与方法有一些同步性。例如,如果商品不在购物车中,则无法更新数量,或者您可以在下订单后增加数量。

答案 2 :(得分:0)

您应该创建一个数据库表来将项目存储在客户购物车中:

<强> CartItem id(主键),customer_id,product_id,数量

另一张表格,用于存储购物车中每件商品的常用商品:

<强> CartCommonItem cart_item_id(主键),common_id(主键)

然后制作一个脚本,为JSON XML请求生成HTMLjQuery甚至Ajax

答案 3 :(得分:0)

你可以,但这里更好的问题是你吗?

2007年,可用性专家Jakob Neilsen研究了AJAX推车,发现users mostly found them to be confusing

只是一个想法。