Domanda

Sto cercando di creare una pagina web con Ajax.

Esempio:

  1. Creo un file Perl / CGU che attiva un post semplice;

    File: ..test.cgi? name = Thomas

    Testo indietro: il tuo nome è Thomas!

  2. Creo un file html che può usare il post, ma poi la pagina deve essere ricaricata. Uso un input di testo e un pulsante.

Come posso usare Ajax, Perl e JSON facilmente insieme? È così che dovrebbe funzionare insieme, ma come?

Html + Ajax / JavaScript CALL Perl + " JSON-perl-string " RITORNA A-Ajax CONVERT-JSON - > Html

È stato utile?

Soluzione

Per JSON prova il modulo CPAN JSON .

Per utilizzare XMLHttpRequest, raccomando questi meravigliosi tutorial di IBM.

Mastering Ajax, Part 1: Introduzione all'Ajax

I due articoli che probabilmente ti interesseranno di più sono questi due:

Mastering Ajax, Part 10 : Utilizzo di JSON per il trasferimento di dati

Mastering Ajax, Part 11: JSON sul lato server

Puoi ottenere l'intera serie di 11 parti utilizzando questo link di ricerca .

Altri suggerimenti

Devi solo fare in modo che la tua applicazione restituisca JSON (puoi semplicemente usare il JSON su CPAN per questo) anziché HTML. Ciò significa che hai bisogno di un'intestazione di tipo Content di application / json invece di text / html e quindi devi usare quel JSON nel tuo Javascript (usando una libreria Javascript come jQuery o Prototype è la soluzione migliore qui).

jquery fornisce ajax e supporto JSON molto facili con la loro API, gestisce tutti gli oggetti XMLHttpRequest per te. jQuery

Se il tuo obiettivo principale è quello di evitare l'aggiornamento per aggiornare la pagina, puoi provare gli script remoti utilizzando l'oggetto XMLHttpRequest in XML.

Altre informazioni su questo qui .

Prova il nuovo modulo CPAN Yote . Associa gli oggetti javascript a perl tramite un rcc JSON.

Ecco un esempio sul client:

Server

package Hello;
use base 'Yote::AppRoot';

sub hello {
  return "Hello World";

1;

Client

$.yote.init();
var hello_app = $.yote.fetch_app('Hello');

alert( hello_app.hello() );
   // outputs "Hello World"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top