2013-09-27 82 views
0

我是新來web開發,recenlty我正在學習使用django + ExtJs建立一個網絡服務器。但我對如何一起使用django + ExtJS感到困惑。 對於Django,它有模板來顯示數據,傳遞給html文件的參數可以是字典,並可以發送JSON。我正在嘗試將其用作網絡服務器的後端。 ExtJS,支持JSON。django和ExtJS如何通過JSON將數據傳遞給對方?

然後來這裏myquestion: 如何使.html文件(由Django用作模板層)接受「JSON」?看來ExtJS沒有能力通過套接字或其他IPC發送json數據。 ExtJS似乎有能力使用AJAX將數據「發佈」到後端,但是,我不確定.html如何使用JSON從後端獲取數據?我下載了ExtJS 4.2.1版本,並在這些文件中找到了一些例子,但是它只是舉例說明從「json文件」中獲取數據。 有人可以給我一個例子或告訴我我應該學習哪一方面或簡要地解釋其機制?

+0

這個問題太難解答了。 「html」文件不「接受」任何東西,它們只是模板或靜態頁面。 –

+0

丹尼爾:在我看來,我可以理解潛在的困惑,並希望我幫助OP,但我同意這個問題不清楚,可能對其他人沒有價值。我不確定這些問題的政策是什麼。 – Tony

回答

1

這不是在模板層,而是在視圖層。您應該在Python中編寫一個視圖函數,並將其分配給某個URL地址。在該視圖函數中,您可以訪問由ExtJS發送的JSON數據並按您的意願處理它。

我完全誤解了你的問題,這裏是更新後的答案:

  • 在Django的一面,你應該寫一個視圖功能,這將返回JSON響應,並分配以一些URL地址。 (如果你是新手,請參閱Django文檔中的How to write a view
  • 在ExtJS方面,您應該向該URL發出Ajax請求,並提供success回調函數,該函數將能夠訪問Django視圖函數的輸出。 (看起來像ExtJS中的Ajax請求通常使用Ext.Ajax.request來完成。)
+0

非常感謝。我不確定我是否清楚自己。我的意思是在ExtJS從django接收數據或者任何可以發送JSON的數據之後(我不希望JSON對象作爲URL中的.html參數傳遞),除了通過URL的參數(特別是JSON)傳遞「?= para1 = 1&para2 = 2 ..「的方式,有沒有其他的方式可以讓JSON更優雅? – python

+0

嗯,它仍然不清楚:你是說在Django或ExtJS中接收JSON? – Tony

+0

而不是使用GET參數(?param = x),如果您要將數據從ExtJS發送到Django,則可以將數據作爲JSON放在請求正文中。 – Tony

相關問題