我试图找出是否有可能在不使用任何形式的客户端编程或脚本的情况下开发动态异步表单和网页。所以基本上我试图在不使用Javascript的情况下获得AJAX和DOM操作的好处。如果可能的话,我希望用Python或类似的语言完成服务器端的所有编程。我正在努力绕开在Web开发中使用Javascript。我只是不想进入它或用棍子远程触摸它。
我遇到了AHAH(异步HTML和HTTP),看起来很有趣。但是我读到检索到的(X)HTML“不能在您的文件系统上本地”。显然,“你必须将HTML文档FTP到网站上。而你提取的HTML文档也必须驻留在网站上。” (来源:http://www.xfront.com/microformats/AHAH.html)任何人都试过这个并确认一下吗?我觉得这不太实际。在同一服务器上托管同一文件系统中的所有内容会更有意义。
AHAH的另一个缺点是它似乎无法操纵DOM,这意味着它在某种程度上受限于它能做什么。您的占位符必须已经在您的网页中,然后您可以检索(X)HTML片段以填充这些占位符。
有没有人知道某些方法可以使用动态异步网页并在不使用Javascript的情况下操作DOM?我可以使用任何服务器端,因为我可以使用任何我想要的语言。最糟糕的情况我想我可以有一个很好的交互式网站,而不必操纵DOM,但我认为现代网站必须是异步的。这对我来说是一种交易破坏者,必须为每一个细微的变化重新加载页面。
答案 0 :(得分:2)
这不是您想听到的,只是学习JavaScript。无论您使用哪种服务器端语言,任何Web开发人员都可以使用它。我从来没有听说过任何其他形式的客户端脚本,除了VBScript,但我认为它不再被使用,只在IE中支持。请参阅VBScript Wikipedia article for more details。
我还会将Flash添加到此列表中。如果您使用Flash,Flex或任何使用Adobe Flash平台的网站构建网站,您可以使用ActionScript而不是JavaScript,但这并不是我个人认为的现代网站,而是它带来了一系列问题,例如要求所有网站访问者安装插件。
现在,即使有一些模糊的方法在没有JavaScript的浏览器中处理客户端脚本,也要考虑它不会有相同的社区支持。关于JavaScript的很酷的事情是,有很多Web开发人员精通它。无论您的服务器端语言是C#,PHP,Python,Perl,Ruby,Java,还是服务器端JavaScript,您仍然必须知道一些JavaScript才能称自己为Web开发人员。
考虑到所有这些人都有编写强大的工具来帮助其他人更轻松地开发,因此我们都不会一遍又一遍地编写和重写相同的代码。例如,jQuery,AngularJS和Bootstrap都是每个人在使用相同工具的大型开发人员社区时如何受益的示例。去使用一些没有人听过的语言,你会发现自己一个人,除了蟋蟀打破沉默,没有人可以反弹你的想法,如果你卡住了。希望这有帮助!
答案 1 :(得分:1)
通过“文件系统上的本地”,它们可能意味着无法从客户端文件系统中获取HTML,当然这是正确的。剩下的部分是有道理的,所有内容都必须从服务器下载。
通过仅编码服务器端并仅通过网络发送更新的网页片段,能够创建动态客户端应用程序可能听起来很诱人。
在实践中,有太多的限制,你可以用一些客户端脚本做的事情,但你不能因为你的范例,一切都必须在服务器端创建。
事实是,Javascript并不是那么糟糕,因为它首先看起来。有了一本好的手册和已建立的库(至少jquery),你会发现它只是工具箱中的一个新工具。
答案 2 :(得分:0)
唯一的另一个选择是:
客户端XSLT
服务器端XSLT
服务器端表单序列化为XML
POST到iframes以避免JavaScript XMLHTTPRequest API
通过XSLT在服务器端进行XSLT转换,以转换XML序列化以匹配XML API
通过cookies,a custom mailto protocol handler或registering a browser application to handle the mailto URI scheme
驻留在服务器上的静态XML文件必须以三种不同的方式处理:
如果XML文件包含
<?xml-stylesheet ?>
指令,则可以直接将其发送到支持XSLT的浏览器。如果必须将所需的XSLT样式表插入到XML数据中,则必须由服务器端脚本读取和处理该文件,并将其作为XML数据流发送到支持XSLT的浏览器。
对于所有其他客户端(包括搜索引擎),将在服务器上执行XSLT转换。
由于客户端要求不同,静态XML文件无法直接提供,而是必须由接受文件名和XSLT样式表作为输入参数的服务器端脚本处理。因此,下载静态XML文件的URL与此类似:
sendXML.asp?file=filename&xsl=stylesheet
在XSLT样式表中包含
<iframe>
标记以触发对服务器的请求。对第二个请求的响应将设置XML cookie如果设置了cookie,则输出XML文档;如果cookie不存在,则输出转换后的HTML标记
使用此解决方案,将为没有支持XSLT的浏览器以及搜索引擎蜘蛛的访问者执行服务器端XML到HTML的转换。在本文提供的框架中使用带有自动浏览器检查的cookie集来识别支持XSLT的浏览器;所有其他访问者都会收到在服务器上生成的传统HTML标记
<强>参考强>