gpt4 book ai didi

jquery - 405 (METHOD NOT ALLOWED) for ajax request with django

转载 作者:可可西里 更新时间:2023-11-01 15:11:14 32 4
gpt4 key购买 nike

我有以下基于类的 View

class SupportView(BaseDetailView):

def render_to_response(self):
if self.request.method == "POST":
message = "YES"
else:
message = "NO"
return HttpResponse(message)

以及以下 Jquery 代码:

    <script>
var username = $('.username').attr('data-username');
$('.destek').click(function(){
$.ajax({
url:"/profiles/support/",
type:"POST",
data:{"username":username, 'csrfmiddlewaretoken': '{{csrf_token}}'},
dataType:"json"
})
})
</script>

和以下网址

   url(r'^support/$', SupportView.as_view())

但是当我点击按钮时,我看到了 127.0.0.1:8000/profiles/support/405 (METHOD NOT ALLOWED) 错误。有什么想法吗?

最佳答案

你必须在你的 View 中实现post方法:

class SupportView(BaseDetailView):
def post(self, request, *args, **kwargs):
self.object = self.get_object()
context = self.get_context_data(object=self.object)
return self.render_to_response(context)

由于您没有定义 post 方法,因此获得 405 (METHOD NOT ALLOWED) 错误 是正确的行为。

关于jquery - 405 (METHOD NOT ALLOWED) for ajax request with django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17179919/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com