在模板中我有以下代碼。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請求。
我唯一擔心的是客戶端和服務器之間的交互應該是最小的。