2012-03-01 26 views
2

誰能幫我出這個問題,我的JavaScript有一個Ajax GET HTTP請求:用ajax請求和Python的交互谷歌應用程序引擎

$.ajax({ 
    url:"/testPage", 
    type:'GET', 
    success: function(){ 
     alert("done"); 
    } 
}); 

服務器端Python應用程序有一個處理程序來處理HTTP請求從JS:

class testPageHandler(webapp.RequestHandler): 
    def get(self): 
     path=os.path.join(os.path.dirname(_file_).'page1.html') 
     template_values={} 
     self.response.out.write(template.render(path,template_values)) 
    def post(self): 
     ..... 
application=webapp.WSGIApplication([('/testPage',testPageHandler), 
     ..... 

在「得到」的方法,我想Django模板「page1.html」被渲染,所以瀏覽器顯示「page1.html」頁面,而不是僅僅彈出「完成」。 有什麼想法?提前致謝。

+1

這是一個陳述,而不是一個問題。 – 2012-03-01 01:04:25

+0

對不起,我正在編輯這個問題,你只是早一點。 – cnherald 2012-03-01 01:24:56

+0

重複的http://stackoverflow.com/questions/3430877/how-do-i-redirect-a-page-jquery – 2012-03-01 01:28:43

回答

3

Django模板實際上是作爲響應主體呈現和返回的。現在你只想在客戶端處理它。

$.ajax({ 
    url:"/testPage", 
    type:'GET', 
    success: function(html){ 
     $('body').append(html); 
    } 
}); 

你可以用任何你喜歡的方式來操作響應。在上面的例子中,它只是附加到body標籤。

+0

優秀的答案,我不知道渲染模板可以從服務器響應ajax請求。這也澄清了我在Felix的評論中無法理解的一些細節。感謝你Maxim。 – cnherald 2012-03-01 13:07:17