【发布时间】:2020-07-04 14:48:46
【问题描述】:
我在通过 Ajax 调用 POST 和 DELETE 时遇到问题! 我已经在课堂上定义了方法!知道发生了什么。
任何帮助将不胜感激????
urls.py:
path('<section>/add_wish/<slug>/', views.AddToWishlistView.as_view(), name='add_to_cart'),
我的看法:
class AddToWishlistView(LoginRequiredMixin, View):
model = Wishlist
http_method_names = ['POST']
def POST(self, request, *args, **kwargs):
wished_product = get_object_or_404(Product, slug=self.kwargs['slug'])
new_item = self.model.objects.get(customer = self.request.user)
new_item.product.add(wished_product)
return HttpResponse(status=201)
这里还有 Ajax!
$('.buy').click(function(e){
e.preventDefault();
let _this = $(this);
var slug = _this.children().data('id');
var section_slug = _this.data('section');
$.ajax({
type : 'POST',
url : '../'+section_slug + '/add_wish/' + slug + '/',
success: function(data){
if(data.success = true){
_this.addClass('clicked');
}
},
async : false,
error : function(data){
console.log("ERROR");
console.log(data);
alert('LOOSERR');
}
})
});
【问题讨论】:
-
方法名必须小写。即,
def post(self, request, *args, **kwargs): -
@ArakkalAbu 仍然无法正常工作 405:/
-
HTTP 帖子现在应该可以工作了如果您的 URL 正确
-
你确定jQuery中的url应该以“
../”开头吗? -
是的..网址是正确的
标签: javascript django ajax http-status-code-405