我希望通过新的问题和更清晰的描述回来,因为我做了很多改变,但我还没有找到一个有效的解决方案。从一开始我就有了一个视图,每当我按下一个按钮时,我想从另一个视图返回渲染视图。
@csrf_exempt def main(请求):
menu_beer = Food.objects.filter(category=4)
menu_crepe = Food.objects.filter(category=2)
menu_club = Food.objects.filter(category=1)
menu_spaggetti = Food.objects.filter(category=8)
menu_burgers = Food.objects.filter(category=11)
menu_hotdog = Food.objects.filter(category=1)
menu_salads = Food.objects.filter(category=7)
menu_toast = Food.objects.filter(category=3)
menu_dessert = Food.objects.filter(category=6)
menu_coffee = Food.objects.filter(category=9)
menu_soda = Food.objects.filter(category=5)
menu_food = Food.objects.filter(category=1)
menu_offer = Offer.objects.all()
obj={}
print "request ajax------------------------"
if request.is_ajax():
print "inside ajax\/\/\//\/\/\/"
sItem=request.GET.get('itemId')
print "GET itemId="+sItem
if sItem is not None:
getobject=Food.objects.get(id=int(sItem))
print getobject
obj['id']=getobject.id
obj['title']=getobject.title
print "{}= "+str(obj)
return HttpResponse(json.dumps(obj), content_type="application/json")
else:
print "ERRRRRRR"
return render(request,'main.html',{'view_title':"Menu",
'menu_crepe':menu_crepe,
'menu_club':menu_club,
'menu_spaghetti':menu_spaggetti,
'menu_burgers':menu_burgers,
'menu_hotdog':menu_hotdog,
'menu_salads':menu_salads,
'menu_toast':menu_toast,
'menu_dessert':menu_dessert,
'menu_coffee':menu_coffee,
'menu_soda':menu_soda,
'menu_beer':menu_beer,
'menu_offer':menu_offer,
})
def profile(请求): return render(request,'profile.html')
@csrf_exempt def order(request): OBJ = {} 打印“请求ajax ------------------------” 如果request.GET: 打印“POST” sItem = request.GET.get( 'ITEMID') print“GET2 itemId =”+ sItem 如果sItem不是None: 的getObject = Food.objects.get(ID = INT(sItem)) 打印getobject OBJ [ 'ID'] = getobject.id OBJ [ '标题'] = getobject.title 打印“post2 =”+ str(obj) return render(request,'order.html',{“obj”:obj}) 其他: 打印“ER” return render_to_response(“order.html”,{'obj':obj})
js就像:
$(document).ready( function(){
$(".orderbtn").click(function(){
p=$(this).prop("id");
$.ajax({
type:"GET",
url:"order/",
data:{"itemId":p
//'csrfmiddlewaretoken': $("{% csrf_token %}")
},
success: function(data){
$('#selected').html("data.title");
}
});
});
});
所有代码和文件都是https://github.com/b10n1k/foodspot69.git
和main.html的部分应该在div之间显示id =“menu_display”的数据。
<div id="selected" class="selected"></div >
所以,我不确定在这种情况下如何处理每个视图。有什么建议我做错了吗?
答案 0 :(得分:0)
我找到了这个解决方案,我发布它没有细节来帮助别人。在成功功能中,我添加了两个参数,现在看起来:
success: function(data){
$('#selected').html(data, textStatus, jqXHR);
}
我希望有人可以提供更多详细信息,因为我不知道为什么需要它们。