我的html中有add_to_cart按钮。单击它后,我要获取选定的内容并将其发送到我的views.py。我已经创建了一个Ajax请求,并且希望通过URL将 item 对象发送到我的views.py。请记住,项目中的浇头和其他是NodeList。我正在使用Django。
add_to_cart.addEventListener("click", ()=>{
const item = {
"item_name": document.querySelector("#itemname").textContent,
"quantity" : document.querySelector("#quantity").value,
"price" : document.querySelector("#price").dataset.price,
"size" : document.querySelector(".size:checked").value,
"toppings" : document.querySelectorAll(".topping:checked"),
"extra" : document.querySelectorAll(".extra:checked")
}
const request = new XMLHttpRequest();
request.open('GET', `/cart_item/${item}`, true);
request.onload = () => {
const data = JSON.parse(request.responseText);
if (data.success){
window.location.href = `http://127.0.0.1:8000/cart/cart_item/${item}`;
}
else{
window.location.href = "http://127.0.0.1:8000/user/login";
}
}
request.send();
return false;
})
在我的urls.py
中urlpatterns = [
path("", views.index, name="cart"),
path("cart_item/<item>", views.cart_item, name="cart_item")
]
在views.py
中def cart_item(request, item):
if not request.user.is_authenticated:
print("okay")
messages.error(request, "Please login first to add to cart.")
return JsonResponse({"success": False})
return JsonResponse({"success": True})
上面是我尝试做的,但出现此错误未找到:/ cart_item / [对象对象] 我也曾尝试在Google上搜索执行此操作的正确方法,但找不到令人满意的解释。如果您有关于如何在URL中传递对象的解决方案或说明,请告知。 非常感谢。