Re: Is there a better way to reset CGI object for AJAX POSTDATA?
- From: Dodger <el.dodgero@xxxxxxxxx>
- Date: Fri, 21 Dec 2007 15:27:02 -0800 (PST)
On Dec 21, 3:10 pm, Dodger <el.dodg...@xxxxxxxxx> wrote:
Currently I'm doing this:
use CGI();
my $cgi = new CGI;
$cgi = new CGI($cgi->param('POSTDATA'));
... in order to get the data an XMLHTTPRequest object sends through on
a POST request, because everything goes under the POSTDATA param as a
query string. AND can I just say... Yuck!
Anyway, my solution seems kludgy and I don't like it. It smells funny.
CGI.pm docs mention a class method restore_parameters() that works
like so:
open (IN,"test.in") || die;
restore_parameters(IN);
close IN;
...but there's no other mention of it, and no mention of an object
method. I can't stand using the functional interface for CGI.pm.
Isn't there any way to just reset an existing CGI object directly
without calling the constructor all over again?
--
Sean 'Dodger' Cannon
Actually, even that's not working right. Dammit.
According to the docs, I can create a new CGI object with a properly
formatted query string as an argument and *those* params are supposed
to be what it parses.
Quoth the docs:
"or from a properly formatted, URL-escaped query string:
$query = new CGI('dinosaur=barney&color=purple');"
But if I try this, and even if I am VERY careful to make sure it's in
scalar context:
use CGI();
my $cjax = new CGI;
my $POSTDATA = $cjax->param('POSTDATA');
undef $cjax;
my $cgi = new CGI($POSTDATA);
I still get back:
print join ', ', $cgi->param();
prints:
POSTDATA
So WTF??
.
- Follow-Ups:
- References:
- Prev by Date: Is there a better way to reset CGI object for AJAX POSTDATA?
- Next by Date: Re: Is there a better way to reset CGI object for AJAX POSTDATA?
- Previous by thread: Is there a better way to reset CGI object for AJAX POSTDATA?
- Next by thread: Re: Is there a better way to reset CGI object for AJAX POSTDATA?
- Index(es):
Relevant Pages
|
|