2017-01-03 57 views
3

在MVC Web應用程序中,無論是PHP還是ASP.net等,在隱藏的div中向json/csv吐出數據並讓客戶端js處理演示文稿是一個好主意?例如,如果您想要呈現一個表格,而不是將查詢結果轉換爲服務器端的HTML表格(PHP或C#等),則可以簡單地將查詢結果轉換爲json字符串並將其放入內部帶顯示的div:無。然後,您使用客戶端JavaScript讀取json數據並將其呈現爲HTML表格或任何您想要的內容。在MVC中,讓客戶端JavaScript處理視圖組件是個好主意嗎?

的好處是,你可以完全忘記考慮數據的呈現,而你是編程的後端。當您更改模型/控制器代碼或副簽證時,您不需要不斷修改查看代碼。

一個缺點是可能存在搜索引擎優化的風險。

有沒有其他的優點或缺點?

+0

請不要投票結束,上帝。如果你真的想,請先留下建設性意見。神。請。 – Jfly

+1

呃哦。不知道你在這裏攪動了一個黃蜂窩。這實際上是關於前端(結束)的重要討論。你應該在客戶端還是服務器上渲染?或者兩者兼而有之?雖然沒有普遍接受的全面解決方案。它主要取決於你的用例。有些應用程序在單頁應用程序開發風格上會變得更好,但是大多數應用程序都會在服務器上呈現,原因很多。 (有關記錄,我沒有投票結束。) – Boldewyn

+1

在我個人的泡泡中,這個[Google搜索](https://www.google.com/search?q=render+on+server+or+in+client + javascript + spa)有一些很好的討論。客戶端渲染通常是在像React,Angular或VueJS這樣的框架環境中完成的。 – Boldewyn

回答

0

缺點表格數據

- 它會導致 「內存泄漏」 和許多下載大小。

讓我們覺得你有一個數組100.000對象。它只有50 MB。每頁加載用戶下載這些數據。這對用戶不好。

- 它是靜態的。只有在用戶刷新頁面時纔會動態顯示。

在動態網站的數據總是變化。用戶想要關注它。

怎麼辦

由於AngularJs,VueJs,ReactJs使用範圍,以保持數據的JavaScript。但是這些數據必須很簡單(不像100.000長度的數組)。

如果您使用的是表格,您可以使用頁面大小和頁數結構。

+0

1.我不會吐出整個50MB陣列給客戶端。 2.用戶需要刷新頁面,即使我做服務器端渲染。 – Jfly

相關問題