我正在研究使用Backbone.js和node.js编写一个小型Web应用程序。在客户端和服务器之间共享代码很有吸引力。
我无法弄清楚没有JS(和搜索引擎)的客户应该如何与网站互动。如何在没有客户端JavaScript的情况下进行表单验证和呈现工作?
当然,我想在没有代码重复的情况下这样做。在我看来,Backbone.js和其他服务器端js的关键是你可以在服务器和客户端上生成相同的表单验证和模板/视图。
答案 0 :(得分:3)
如果您的视图使用javascript编码,搜索引擎会因为它们符合更传统的网络(一个网址,一个州,一个页面)并且不理解javascript而受到攻击。
如果您想提供丰富的体验并支持搜索引擎,则需要使用优雅的升级。
通过优雅的升级,您可以在没有客户端javascript的情况下对您的网站进行编码,让所有工作都很漂亮。然后使用javascript升级体验。在大多数情况下,这实际上更容易,因为升级过程可以自动化。见https://github.com/browserstate/ajaxify
答案 1 :(得分:0)
在客户端验证表单数据是一种很好的做法,因为它可以使用户不必重新输入在服务器上未验证的内容。在客户端进行验证不会消除在服务器上验证的需要,因为您的问题有助于指出,因为无法保证JavaScript将运行,甚至无法保证所使用的表单是您服务器上的表单。