向 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 请求有响应。
我在我的网站上问用户一个问题,如果答案是肯定的,我将使用 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 请求有响应。