向 View Django 发送请求,没有收到任何响应

Send request to View Django, without receiving any response

我在我的网站上问用户一个问题,如果答案是肯定的,我将使用 JavaScript 文件和 Ajax 发送两个数据来查看 Django。我想在 View Django 中获取此数据,而不向用户发送任何 HttpResponse。 如果我们不在视图中发送响应,就会报错。我应该怎么做?

当条件if request.is_ajax()时: 运行,出现以下错误:

ValueError: 视图 tourist.views.planing 没有 return HttpResponse 对象。它 return 改为 None。

谢谢


def planing(request):   
          
    if request.is_ajax():
        # Get user location from user location.js file:
        latitude = request.POST.get('latitude', None)
        longitude = request.POST.get('longitude', None)

        # To save data
        request.session['latitude'] = latitude
        request.session['longitude'] = longitude


    elif request.method == "GET":
        return render(request, "tourist/planing.html")
        
          
    elif request.method == "POST":
        # To retrive data:
        latitude = request.session.get('latitude')
        longitude = request.session.get('longitude')
        if latitude is not None :
            latitude = float(latitude)
            longitude = float(longitude)
       
        .
        .
        .
        return render(request, "tourist/map.html")


您可以 return 空 JSON。像这样:

from django.http import JsonResponse

if request.is_ajax():
    # Get user location from user location.js file:
    latitude = request.POST.get('latitude', None)
    longitude = request.POST.get('longitude', None)

    # To save data
    request.session['latitude'] = latitude
    request.session['longitude'] = longitude
    return JsonResponse({})

这将确保对 AJAX 请求有响应。