Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
没有客户端javascript的Backbone.js_Javascript_Ajax_Node.js_Seo_Backbone.js - Fatal编程技术网

没有客户端javascript的Backbone.js

没有客户端javascript的Backbone.js,javascript,ajax,node.js,seo,backbone.js,Javascript,Ajax,Node.js,Seo,Backbone.js,我正在考虑使用Backbone.js和node.js编写一个小型web应用程序。在客户端和服务器之间共享代码很有吸引力 我不知道没有JS(和搜索引擎)的客户端应该如何与站点交互。如果没有客户端JavaScript工作,表单验证和呈现应该如何工作 当然,我希望这样做不需要代码重复。在我看来,Backbone.js和其他服务器端js的观点是,您可以在服务器和客户端上进行相同的表单验证和模板/视图生成。如果您的视图使用javascript编码,搜索引擎就会出现问题,因为它们符合更传统的web(一个ur

我正在考虑使用Backbone.js和node.js编写一个小型web应用程序。在客户端和服务器之间共享代码很有吸引力

我不知道没有JS(和搜索引擎)的客户端应该如何与站点交互。如果没有客户端JavaScript工作,表单验证和呈现应该如何工作


当然,我希望这样做不需要代码重复。在我看来,Backbone.js和其他服务器端js的观点是,您可以在服务器和客户端上进行相同的表单验证和模板/视图生成。

如果您的视图使用javascript编码,搜索引擎就会出现问题,因为它们符合更传统的web(一个url、一个状态、一个页面)我不懂javascript

如果你想提供丰富的体验并支持搜索引擎,你需要使用优雅的升级


通过优雅的升级,您可以在没有客户端javascript的情况下编写您的网站,让一切都很好地运行。然后使用javascript升级体验。在大多数情况下,这实际上更容易,因为升级过程可以自动化。请参见

在客户端验证表单数据是一种良好的做法,因为这样可以避免用户在服务器上无法验证时可能需要重新输入所写入的内容。正如您的问题所指出的那样,在客户端进行验证并不意味着不需要在服务器上进行验证,因为无法保证JavaScript会运行,甚至无法保证所使用的表单是服务器上的表单。

表单验证是在服务器上完成的。渲染是在服务器上完成的(数据->html翻译)。对——但我希望在服务器和客户端之间共享代码(并让服务器使用与客户端相同的javascript生成view/html代码)将使网站能够在不需要重复代码的情况下不使用客户端javascript。我不知道如何在服务器端为未启用javascript的客户端提供backbone.js呈现视图。我不知道如何让服务器上的backbone.js处理表单验证。我见过的教程/示例中没有一个显示backbone.js(或其他框架)在未启用客户端js的情况下工作。您可以使用
jsdom
包创建服务器端窗口。有关使用jQuery的示例,请参见和