我正在开发购物车。每个Product
都有Price
和SubCategory
。
ID Price Product No ProductName
1 250.5$ esp1 Electronic Machine
2 500.0$ esp2 Scanner
用户可以通过选择以上Product
中的任何一个来选择产品。
还有CommonProduct
与Product
相关联。
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
我需要针对上述过程的实施思路。我很难将Product
与Common Product
进行整合。
使用Ajax有一个很好的方法吗?
答案 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(主键)
答案 3 :(得分:0)
你可以,但这里更好的问题是你吗?
2007年,可用性专家Jakob Neilsen研究了AJAX推车,发现users mostly found them to be confusing。
只是一个想法。