Ich habe Filtersystem entwickelt, in dem es drei Optionen wie Objekttyp bietet, die Anzahl der Zimmer und die maximalen Preis. Jedes Mal, wenn sie Filteroptionen auswählen, erhält der Benutzer sofort sein Suchergebnis. Zum Beispiel, wenn ein Benutzer Wohnungstyp und Anzahl der Zimmer als 4 und Höchstpreis von 12000 ausgewählt hat, dann wird der Benutzer diejenigen Mieten, deren Eigenschaftstyp Wohnung mit 4 Zimmern von 12000 Mark ist. Ich habe den Front-End-Teil mit React.js entwickelt und konnte Benutzerdaten erfolgreich abrufen. Ich habe auch Daten an Ajax übergeben, aber ich habe keine Ahnung, wie ich die Suchergebnisse basierend auf gefilterten Wert von Benutzer ohne Seitenladung angezeigt werden soll.Wie kann ich das Suchergebnis basierend auf dem vom Benutzer bereitgestellten gefilterten Wert anzeigen?
Ajax Code
$.ajax({
type: 'GET',
url: '/filter/space/',
data{property:propertySelectedValue, room:roomSelectedValue, price:maxPrice},
success: function(data){
console.log(data['fields']);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.error("Status: " + textStatus); alert("Error: " + errorThrown);
},
});
Views.py
class FilterSpace(View):
def get(self,request,*args,**kwargs):
property = request.GET.get('property',None)
room = request.GET.get('room', None)
price = request.GET.get('price', None)
rental = Rental.objects.all()
if room:
rental = rental.filter(room=room)
print('rental',rental)
if price:
rental = rental.filter(price__lte=price)
if property:
rental = rental.filter(property=property)
rental_json = serializers.serialize('json',rental)
print('rental_json',rental_json)
return HttpResponse(rental_json,content_type="application/json")
Mögliche Duplikat [Wie Liste der Benutzer mit AJAX Django anzuzeigen, die aktualisiert werden, während neue Benutzer von Admin-Seite hinzugefügt] (http://stackoverflow.com/questions/35333163/how-to-display-list-of- Benutzer-using-ajax-django-dass-get-Aktualisierung-while-Additions-neu) – Sayse
erklären: ohne den Laden der Seite. Was versuchst du zu lösen? –
Haben Sie darüber nachgedacht, die Anfrage über eine API an das Backend zu senden? Sie würden die Anfrage senden, die Antwort erhalten und die Seite entsprechend aktualisieren. Auf diese Weise müssen Sie die Seite nicht neu laden. – elena