mil*_*lan 10 javascript python django ajax jquery
我开发了过滤系统,它提供3种选择,如房产类型,房间数量和最高价格.每次他们选择过滤器选项时,用户都会立即获得他们的搜索结果.例如,如果用户选择了公寓的房产类型和房间数为4且最高价格为12000,则用户将获得其房产类型为公寓的租金,其中4个房间为12000标记.我用React.js开发了前端部分,可以成功获取用户选择的数据.我还将数据传递给ajax但我不知道如何根据用户提供的过滤值显示搜索结果而不加载页面.
Ajax代码
$.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);
},
});
Run Code Online (Sandbox Code Playgroud)
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")
Run Code Online (Sandbox Code Playgroud)
小智 0
为了提高 python 的效率,您应该找到使用所有参数过滤一次的方法,而不是过滤过滤后的过滤后的过滤器,但这对于查看结果并不是必需的。
在里面success: function(data){你应该使用 jQuery 放入data页面中,你可以从类似的东西开始
function data2html(data) {
...// use .map and .join
}
$("#divid").append(data2html(data))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |