使用jQuery顯示該消息在等待視圖返回結果。
在包含處理消息/圖像的頁面中放置一個隱藏的div標籤。
如果通過單擊按鈕提交GET請求,則在按鈕上放置一個onclick事件以顯示div標籤。視圖完成處理後,頁面將被重新加載並顯示目標頁面。
如果使用AJAX調用視圖,則可以將div的顯示/隱藏放置在ajaxStart和ajaxComplete事件中。
編輯:確定,因爲頁面將被第三方調用它會使事情複雜一點。我建議你在沒有數據的情況下加載頁面,並且一旦加載了頁面,你就會執行AJAX GET請求來檢索數據。
你可以做如下:
一個隱藏的div標籤的頁面添加與進度消息/圖像。
<div id="progress">Please wait while the page is loading.</div>
然後AJAX GET調用添加到頁面:
$(document).ready(function() {
//Attach the ajaxStart and ajaxComplete event to the div
$('#progress').ajaxStart(function() {
$(this).show();
});
$('#progress').ajaxComplete(function() {
$(this).hide();
});
//Perform the AJAX get
$.get('/your_view/', function(data) {
//Do whatever you want with the data here
});
});
上面的代碼尚未經過測試,但它會給你一個想法。
UPDATE
我建議您從您的視圖返回JSON對象或類似:
companies = Company.objects.filter(name__istartswith=companyname)
results = [{'value': company.name, 'id':company.id} for company in companies ]
json = simplejson.dumps(results)
return HttpResponse(json, mimetype='application/json')
您還可以使用的getJSON()方法,而不是GET()jQuery中的。
謝謝。如果這能滿足我上面的要求(請參閱步驟1,2,3),你可以給出一些示例代碼。 – TonyM 2012-03-22 13:45:32
請參閱上面的編輯 – Mikael 2012-03-23 10:15:50
謝謝。要做AJAX get,是否必須更改我現有的Django視圖以使其成爲Ajax?我認爲這些數據將包含我的視圖返回的所有HTML頁面?我可以只顯示這個嗎? – TonyM 2012-03-23 10:42:19