2012-06-28 83 views
0

將JavaScript嵌入到通過AJAX返回的partials中被認爲是不好的做法?將JavaScript嵌入AJAX部分響應

假設上http://mysite.com,我有一個按鈕,通過AJAX獲得一個形式。 現在,讓我們說,我想添加一些JavaScript事件處理程序到這個表單使用jQuery(驗證等)。

目前的方式來做到這一點似乎是:

  • 在AJAX回調返回的形式,我可以設置事件處理程序 的標籤。

我不喜歡這種方法,因爲它將控制我的表單的代碼放在兩個位置:部分被渲染,並且包含在全局JavaScript文件中。

  • 不是從服務器端返回表單,而是做所有客戶端。當需要來自服務器的響應(例如,驗證表單)時,從服務器返回JSON,並在JavaScript中創建生成的HTML元素(如錯誤消息)。

現在,這種方法讓我覺得好像我正在使用JavaScript來創建HTML元素,而不是使用更強大的服務器端工具(模板語言)來執行此操作。

覺得這樣的解決方案包括嵌入的JavaScript代碼到由AJAX部分返回的HTML,所以它的我的應用程序的獨立功能組件,所有的代碼是在一個地方。

有沒有更乾淨的方式做我在這裏要做的事情?

+0

如果您只是在服務器端生成表單html,爲什麼當您可以輕鬆地嵌入JavaScript模板並將其全部用於客戶端時,爲什麼會浪費時間使用完整的HTTP請求呢? – jondavidjohn

回答

1

我不確定今天可以提出的說法是,與其他後端語言相比,javascript在「功耗」方面遜色不少......我想也許是因爲今天javascript是有效的後端語言

我認爲第二個選項是有道理的,因爲你包含客戶/接口代碼,並隔離服務器端邏輯進行數據處理和演示。

有很多,在我看來很好地工作的JavaScript的模板庫,也就是如果你不想去充分的javascript MVC路線。