有没有办法在不使用CGI :: AJAX模块的情况下实现Ajax



我正在尝试创建第一个网站,该站点在免费的Web托管服务器上使用Perl设置了AJAX设置。主人有很多不足之处。服务器上安装了PERL模块,但是CGI :: AJAX未安装。我是佩尔的新手。在不使用我提到的模块的情况下,是否有一种合理的方法来硬编码简单的Ajax设置?它可能与XMLHttpRequest有关吗?

更新:是的,我正在阅读CGI :: AJAX模块代码和评论。我不认为我可以从那里提取一些东西,然后将其放入否则会调用模块的脚本中?但是我必须先了解整个恐怖模块...

更新:我正在研究一种方法来包括CGI :: AJAX,将模块上传到与"使用"它的脚本相同的目录,并修改@INC路径或类似的内容...

在我一直在编写Web应用程序的所有年份中,我写的比我的Ajax呼叫的份额更多,而且我从未使用过CGI :: Ajax。实际上,直到现在我还没有听说过。我现在浏览了文档,我真的看不到它给您带来了什么优势。

Ajax相互作用有两个部分。客户部件在浏览器中运行,因此几乎总是用JavaScript编写。这些天,jQuery使它变得琐碎了。我看不到perl模块在这里有什么帮助。

服务器部件在Web服务器上运行。您需要的只是一个接收HTTP请求并发送HTTP响应的应用程序。用PERL编写的CGI应用程序是一种显而易见的写作方式 - 但是如今,我更有可能使用PSGI的东西。您可能希望您的应用程序将数据返回为JSON并适当设置内容型标题,也许是CGI :: AJAX会有所帮助 - 但是在任何其他Web框架中都可以做到这一点。

so,总结:

  1. 不,您不需要使用CGI :: Ajax来写Ajax呼叫。
  2. 完全有可能将Ajax交互的服务器端作为PERL CGI程序 - 但是在2017年,有很多更好的选择。

更新:因此,在这种情况下,您无需安装额外的模块。但是,总的来说,如果您可以在需要时轻松安装模块,那么您的Perl开发生活将变得更加容易。因此,我非常建议您寻找允许您这样做的托管解决方案。

ajax请求没有什么特别的。它们就像其他任何网络请求一样。以下是示例Web(包含AJAX)请求处理程序:

#!/usr/bin/perl
use strict;
use warnings;
use CGI qw( );
my $cgi = CGI->new();
print $cgi->header('text/plain');
print "Hello, World!n";

最新更新