【问题标题】:How can I use Ajax, perl and JSON easy together?如何轻松地同时使用 Ajax、perl 和 JSON?
【发布时间】:2010-10-23 21:19:31
【问题描述】:

我正在尝试使用 Ajax 制作网页。

例子:

  1. 我创建了一个触发简单帖子的 Perl/CGU 文件;

    文件:..test.cgi?name=Thomas

    回短信:你叫托马斯!

  2. 我创建了一个可以使用帖子的 html 文件,但是页面必须重新加载。 我使用文本输入和按钮。

如何轻松地同时使用 Ajax、Perl 和 JSON? 这就是它应该如何协同工作的方式,但是如何?

Html + Ajax/JavaScript CALL Perl + "JSON-perl-string" RETURN-TO Ajax CONVERT-JSON -> Html

【问题讨论】:

    标签: javascript html ajax perl json


    【解决方案1】:

    对于 JSON,请尝试 CPAN JSON module

    对于使用 XMLHttpRequest,我推荐这些来自 IBM 的精彩教程。

    Mastering Ajax, Part 1: Introduction to Ajax

    您可能最感兴趣的两篇文章是这两篇:

    Mastering Ajax, Part 10: Using JSON for data transfer

    Mastering Ajax, Part 11: JSON on the server side

    你可以得到整个11部分系列using this search link

    【讨论】:

      【解决方案2】:

      您只需要让您的应用程序返回 JSON(您可以为此使用 CPAN 上的 JSON 模块)而不是 HTML。这意味着您需要 application/json 的 Content-type 标头而不是 text/html,然后您需要在 Javascript 中使用该 JSON(使用 jQuery 或 Prototype 等 Javascript 库是您最好的选择)。

      【讨论】:

        【解决方案3】:

        jquery 通过其 API 提供了非常简单的 ajax 和 JSON 支持,它为您处理所有 XMLHttpRequest 对象。 jQuery

        【讨论】:

          【解决方案4】:

          如果您的主要目标是避免刷新以更新页面,您可以尝试使用 XML 中的 XMLHttpRequest 对象进行远程脚本编写。

          更多关于here

          【讨论】:

            【解决方案5】:

            试试新的 CPAN 模块Yote。它通过 JSON rpc 将 javascript 对象绑定到 perl。

            这是客户端上的一个示例:

            服务器

            package Hello;
            use base 'Yote::AppRoot';
            
            sub hello {
              return "Hello World";
            
            1;
            

            客户

            $.yote.init();
            var hello_app = $.yote.fetch_app('Hello');
            
            alert( hello_app.hello() );
               // outputs "Hello World"
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-11-10
              • 2010-12-22
              • 1970-01-01
              • 2014-11-19
              • 2011-07-13
              • 1970-01-01
              相关资源
              最近更新 更多