[英]How to pass parameters of Ajax URL in Django?
我使用 Ajax 将项目添加到愿望清单:
<a href="{% url 'listing:wishlist' list.slug %}" id="wishlistbtn" data-slug='{{ list.slug }}'>Add to
wishlist</a>
url 看起来像:
path('wishlist/<slug:title_slug>/', wishlist, name='wishlist'),
但我不知道如何使用 Ajax 在 url 上方传递list.slug
或title_slug
:
$(document).on('click', '#wishlistbtn', function (e) {
$.ajax({
type: 'GET',
url: "{% url 'listing:wishlist' %}",
data: {
title_slug: e.target.getAttribute('data-slug')
},
success: function (response) {
alert('added to wishlist')
}
})
})
我的上述解决方案不起作用? 请帮我解决一下这个。 谢谢你。
编辑:添加视图
def wishlist(request):
slug = request.GET.get('title_slug')
obj = get_object_or_404(Listing, slug=slug)
profile = Profile.objects.all().filter(user=request.user).first()
profile.wishlist.add(obj)
return HttpResponse('true')
这是您传递data-slug
的解决方案吗?
$(document).on('click', '#wishlistbtn', function (e) {
let el = $(this);
$.ajax({
type: 'GET',
url: "{% url 'listing:wishlist' %}",
data: {
title_slug: el.attr("data-slug"),
},
success: function (response) {
alert('added to wishlist')
}
})
})
使用这条路径 -
path('wishlist', wishlist, name='wishlist'),
在您的观点中使用 slug - request.GET.get("title_slug")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.