我有一个html页面,其中显示了产品列表,每个产品都有一个添加到购物车按钮。在
我的html视图:{% for sku, name, mrp, sp, id in product_data_list %}
{% csrf_token %}
Add to Cart
{% endfor %}
上面的代码显示数据库中的产品数据。
我使用ajax请求将数据发回django视图。在
我的ajax脚本:
^{pr2}$
我的django观点:def addToCart(request):
if request.method == 'POST':
response_data = {}
product_id = request.POST.get('product_id')
try:
try:
cart = request.COOKIES.get('cart')
cart = cart + '*' + product_id
response_data['result'] = 'Added To Cart Successfully !!!'
response = HttpResponse(json.dumps(response_data),content_type="application/json")
response.set_cookie('cart',cart)
except:
cart = product_id
response_data['result'] = 'Added To Cart Successfully !!!'
response = HttpResponse(json.dumps(response_data),content_type="application/json")
response.set_cookie('cart',cart)
except:
response_data['result'] = 'Cannot Be Added To Cart !!!'
return response
else:
return HttpResponse(json.dumps({"result": "Failure !!!"}),content_type="application/json")
这段代码工作正常,它使用变量cart将数据(产品_id)添加到cookie中。
问题是,如果我的html模板呈现多个项或产品,ajax请求只对第一个项起作用,而对于它添加的其余产品,None而不是{}。它还导航到页面localhost:8000/add_to_cart,并显示dict{'result':'Added To Cart Successfully !!!'}。而对于第一个产品,它保持在同一页面上而不刷新。
如何使它适用于所有项目?在
编辑:控制台上写着:
资源被解释为文档,但使用MIME类型application/json传输