2012-03-20 140 views
0

我無法弄清楚如何在POST(ajax)請求後重新呈現頁面。我想知道如何正確使用它,所以我不會陷入任何不良的設計習慣。Django - 在POST請求後呈現請求

渲染頁面 - > Ajax - > ??

在Views.py

def searchform(request): 

    if request.method == 'POST': 
     #Do stuff with request.POST 
     return render(request, 'sameapp/anotherpage.html', my_dict) 

    else: 
     return render(request, 'sameapp/thispage.html') 

我的AJAX POST成功。在Firebug控制檯中,新頁面(anotherpage.html)使用適當的數據呈現。但是該頁面不重定向。在這種情況下使用什麼適當的模式(redirect_to?)。我想在POST請求後加載具有適當數據的'anotherpage.html'。

+0

找到如果你想加載另一個頁面,爲什麼你使用AJAX? AJAX的重點在於保持在當前頁面上,並且只根據服務器響應更新當前內容的一部分。 – nrabinowitz 2012-03-20 16:54:03

+0

右鍵 - 我想通過加載新模板來更新視圖。 – user1059105 2012-03-20 16:55:33

+3

然後不要使用AJAX。 – 2012-03-20 16:57:00

回答

0

Django和Ajax不能這樣工作。

如果您希望使用來自Ajax請求的數據創建新內容,則不需要任何重定向,只需使用Javascript將您當前頁面的一部分替換爲通過Ajax獲取的內容即可。這取決於你正在使用的JS代碼,jQuery的一些例子可以在http://api.jquery.com/jQuery.ajax/

+2

這不是Django,它不是這樣工作的,它是純粹而簡單的Ajax。 – 2012-03-20 18:59:10