在模板中我有以下代码。Django和JSON请求
<script>
var url="/mypjt/my_timer"
$.post(url, paramarr,
function callbackHandler(dict)
{
alert('got response back');
if (dict.flag == 2)
{
alert('1');
$.jGrowl("Data could not be saved");
}
else if(dict.ret_status == 1)
{
alert('2');
$.jGrowl("Data saved successfully");
window.location = "/mypjt/display/" + dict.rid;
}
},
"json"
);
</script>
在意见我有下面的代码,
def my_timer(request):
dict={}
try:
a = timer.objects.get(pk=1)
dict({'flag':1})
return HttpResponse(simplejson.dumps(dict), mimetype='application/javascript')
except:
dict({'flag':1})
return HttpResponse(simplejson.dumps(dict), mimetype='application/javascript')
因为我们正在一个JSON请求,并在try块,设置标志后,我们不能直接返回一个页面
return render_to_response('mypjt/display.html',context_instance=RequestContext(request,{'dict': dict}))
而不是发送响应,因为再次在HTML页面中成功重定向代码?
此外,如果有一个异常,那么我们只能返回JSON请求。
我唯一担心的是客户端和服务器之间的交互应该是最小的。