问题描述
我想在 Django 中做一个 ajax GET 和 POST 方法。我的 post 方法运行良好,但 GET 方法不是。请参阅下面的代码。
网址
path("getupdates/",views.getupdates,name="getupdates")
观看次数
def getupdates(request):
if request.user.is_authenticated:
if request.method == "GET":
user_instance = User.objects.filter(username=request.user.username)[0]
info = userinfo.objects.filter(username=user_instance.username)
game = spinwheel.objects.filter(user=info[0])
get_value= request.body
data = {"info":info}
print(data)
return render(request,'spin.html',{"info":info})
Js-ajax
$.ajax({
url: 'getupdates/',// datatype: 'json',data : data,type: 'GET',sucess: function(data) {
console.log("refreshed!")
}
});
我希望 ajax GET 方法更新我的 HTML 的某些部分。
解决方法
您可以检查 request.is_ajax()。 如果这是真的,那么您将使用您的数据返回 JsonResponce。 并将它们插入到您的 html 中,而无需重新加载整个页面。
示例
class ViewName(View):
def get(self,requst):
if requst.is_ajax():
# your code
return JsonResponse({'data': data})
def post(self,requst):
# your code